elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Seguridad (Moderador: r32)
| | |-+  Monitoriza las llamadas a las API's del sistema
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Monitoriza las llamadas a las API's del sistema  (Leído 2,008 veces)
madpitbull_99
Colaborador
***
Desconectado Desconectado

Mensajes: 1.911



Ver Perfil WWW
Monitoriza las llamadas a las API's del sistema
« en: 24 Agosto 2011, 12:14 pm »


Una buena forma de "destripar" algún malware para entender su funcionamiento es ver a que API se llaman desde la aplicación o cualquier servicio.

Para eso vamos a utilizar API Monitor, una herramienta desarrollada por Rohitab, hay un versión para sistemas de 32bits y 64 bits, disponiendo también de una versión portable, que sólo hay que descargar y descomprimir, es la que yo he utilizado al escribir este artículo. Procedemos a descargar la versión que corresponda a nuestro sistema o la portable y la ejecutamos.



La versión portable descomprimida pesa poco más de unos 20 MB, por lo que, podemos guardarla en una memoria USB junto con las demás utilidades que usamos en nuestro día a día.

Para probar la herramienta he usado un malware que tenía por ahí para hacer prueba, en una máquina virtual con VirtualBox.

Al arrancar la aplicación podemos seleccionar de una lista las API que queremos monitorizar.



O filtrar por librerías .dll



Los procesos a monitorizar los podemos elegir de una lista con los procesos en ejecución o crear uno nuevo (Menú File -> Monitor New Process).

Yo en mi caso monitorizaré un proceso llamado sol.exe (se trata del juego Solitaire que viene con el Windows) que se está ejecutando en el sistema (sino se está ejecutando, lo podemos ejecutar eligiendo Monitor New Process).

En la pestaña Monitoring - Output podemos ver una lista de .dll que han sido cargadas.
Código:
sol.exe: Monitoring Module 0x01000000 -> C:\WINDOWS\system32\sol.exe.
sol.exe: Monitoring Module 0x7C910000 -> C:\WINDOWS\system32\ntdll.dll.
sol.exe: Monitoring Module 0x7C800000 -> C:\WINDOWS\system32\kernel32.dll.
sol.exe: Monitoring Module 0x77BE0000 -> C:\WINDOWS\system32\msvcrt.dll.
sol.exe: Monitoring Module 0x77DA0000 -> C:\WINDOWS\system32\ADVAPI32.dll.
sol.exe: Monitoring Module 0x77E50000 -> C:\WINDOWS\system32\RPCRT4.dll.
sol.exe: Monitoring Module 0x77FC0000 -> C:\WINDOWS\system32\Secur32.dll.
sol.exe: Monitoring Module 0x77EF0000 -> C:\WINDOWS\system32\GDI32.dll.
sol.exe: Monitoring Module 0x7E390000 -> C:\WINDOWS\system32\USER32.dll.
sol.exe: Monitoring Module 0x70140000 -> C:\WINDOWS\system32\CARDS.dll.
sol.exe: Monitoring Module 0x7E6A0000 -> C:\WINDOWS\system32\SHELL32.dll.
sol.exe: Monitoring Module 0x77F40000 -> C:\WINDOWS\system32\SHLWAPI.dll.
sol.exe: Monitoring Module 0x773A0000 -> C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5705_x-ww_36cfed49\COMCTL32.dll.
sol.exe: Monitoring Module 0x5CF60000 -> C:\WINDOWS\system32\ShimEng.dll.
sol.exe: Monitoring Module 0x6FDB0000 -> C:\WINDOWS\AppPatch\AcGenral.DLL.
sol.exe: Monitoring Module 0x774B0000 -> C:\WINDOWS\system32\ole32.dll.
sol.exe: Monitoring Module 0x76B00000 -> C:\WINDOWS\system32\WINMM.dll.
sol.exe: Monitoring Module 0x770F0000 -> C:\WINDOWS\system32\OLEAUT32.dll.
sol.exe: Monitoring Module 0x77BB0000 -> C:\WINDOWS\system32\MSACM32.dll.
sol.exe: Monitoring Module 0x77BD0000 -> C:\WINDOWS\system32\VERSION.dll.
sol.exe: Monitoring Module 0x76630000 -> C:\WINDOWS\system32\USERENV.dll.
sol.exe: Monitoring Module 0x5B150000 -> C:\WINDOWS\system32\UxTheme.dll.
sol.exe: Monitoring Module 0x76340000 -> C:\WINDOWS\system32\IMM32.DLL.
sol.exe: Monitoring Module 0x746B0000 -> C:\WINDOWS\system32\MSCTF.dll.
sol.exe: Monitoring Module 0x75160000 -> C:\WINDOWS\system32\msctfime.ime.

Y en la pestaña Summary veremos todas las llamadas que se han realizado, en este caso han sido 30000.



Vemos que HeapFree (Libera un bloque de memoria reservado por HeapAlloc) se llama desde Kernel32.dll. En el cuadro de llamadas (situado más abajo) podemos ver la posición del bloque de memoria que se quiere liberar.

A partir de aquí todo depende de la imaginación de cada uno, si trasteáis más con la aplicación veréis que se pueden poner "breakpoints" cosa que nos puede servir en algunos casos.

Como sabréis hay más herramientas y métodos para monitorizar las API, esto es sólo una alternativa.

Como podemos ver en los tutoriales realizados por el autor, API Monitor sirve para algo más que monitorizar las llamadas API, también se puede usar para eliminar algunas restricciones de los software de pago o esniffar el tráfico ssl de Firefox.

Página Oficial | Rohitab - API Monitor


En línea



«Si quieres la paz prepárate para la guerra» Flavius Vegetius

[Taller]Instalación/Configuración y Teoría de Servicios en Red
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Llamadas al sistema
ASM
W0lFy 3 4,053 Último mensaje 30 Junio 2009, 17:33 pm
por YST
Hacker intercepta llamadas GSM con un sistema casero de 1.500 dólares
Noticias
Kasswed 0 1,576 Último mensaje 3 Agosto 2010, 00:15 am
por Kasswed
Como ocultar las llamadas al sistema.
Programación C/C++
gxg 8 4,093 Último mensaje 14 Abril 2011, 21:12 pm
por Oblivi0n
Ghost Mouse Auto Clicker 3.4 (Monitoriza clicks, Y los reproduce)
Software
Eleкtro 0 1,865 Último mensaje 17 Febrero 2012, 22:32 pm
por Eleкtro
Averiguar llamadas al sistema o comandos desde un programa
Hacking
l_s_h_s 3 2,738 Último mensaje 29 Enero 2015, 01:54 am
por .:UND3R:.
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines