martes, 28 de enero de 2014

Volatility Framework - Analizando un proceso sospechoso


En la anterior entrada vimos qué es Volatility y las opciones de las que disponemos con este framework.

Si recordáis, mientras Volatility nos mostraba los procesos que estaban corriendo en el momento en el que se realizó la imagen de la memoria, pudimos observar que había un ejecutable llamado "troyano.exe" que se estaba ejecutando en nuestra máquina.

Pues bien, en esta entrada vamos a ver cómo podemos obtener información sobre ese ejecutable para saber si es algún tipo de malware y cómo debemos de actuar.

¿Listos?



Lo primero que vamos a hacer es mostrar de nuevo los procesos para ver si hay algún otro proceso sospechoso.


Bien, como vemos tenemos 3 procesos ejecutándose que son cuanto menos sospechosos... así que vamos a ir investigando.

"msiexec.exe" (Windows Installer) y "rundll32.exe" (Ejecuta DLL´s) son ejecutables nativos de Windows y se encuentran en "C:\Windows\System32". Estos sirven para Instalar/Desinstalar programas, veámos si se están ejecutando desde dicha ruta:



*Nota*:También existen métodos que permiten la inyección de archivos en procesos ya existentes, pero para no marearnos tanto, esto lo dejaremos para proximas entradas y daremos como buenos y legítimos estos 2 ejecutables.** 

Bien, como vemos sí que se están ejecutando desde dicha ruta, pero ¿estámos instalando algo? ¿está corriendo windows update? ¿estámos actualizando algún programa?

Debemos hacernos estas preguntas ya que si no se está lanzando ninguna actualización o estamos instalando/desinstalado algún programa podría estar ejecutándose algún software malicioso...

Ahora vamos a analizar el proceso "troyano.exe".
Mediante el comando dlllist podemos ver las dll´s a las que llama el ejecutable.



Como podemos ver este archivo tiene funciones muy sospechosas, como por ejemplo, está llamando a netshell.dll que permite administrar el sistema de forma remota y configurar los servicios de red mediante linea de comandos, sin comentar que está llamando a crypt32.dll (¿encryptado?), ole32.dll y oleaut32.dll entre otros.

Veámos los handles de este proceso:


Mutaciones, configuraciones de red, modificaciones en el registro...

Viendo esto podemos asegurar que se estará realizando algún tipo de conexión con la máquina atacante, por lo que vamos a ver las conexiones.


Como vemos se está realizando una conexión desde nuestra máquina en el puerto 1037, a la dirección 192.168.0.40 en el puerto 4444. Dicha conexión la lleva a cabo el proceso con id 1280, que corresponde al ejecutable "troyano.exe".

Ante esto poco más podemos decir, podríamos seguir viendo los cambios o llamadas que ha hecho en el sistema, pero en este caso queríamos asegurarnos de que nuestras sospechas eran ciertas y como hemos visto estábamos en lo cierto.

Ahora sabiendo a donde se está conectando nuestro "pequeño" invitado, deberemos tomar las medidas oportunas:
  • Cerrar puertos que esté utilizando para realizar la conexión.
  • Agregar reglas en el Firewall.
  • Bloquear la dirección a la que se conecta.
  • etc.


Espero les haya gustado.

Saludos.


Referencias:
https://code.google.com/p/volatility/wiki/CommandReference
https://code.google.com/p/volatility/wiki/VolatilityDocumentationProject


**No me hago responsable del mal uso que se de a la información presentada. Esta información es de carácter didáctico.**

No hay comentarios:

Publicar un comentario