11 oct 2013

Volatility Framework: Old ZeuS Malware - MalwareCookBook (Parte I)

En el sitio web code.google.com/p/malwarecookbook podemos encontrar muestras de capturas de RAM donde hay malware específico. Este sitio proporciona al analista forense un sitio donde poder jugar y experimentar con como se comporta cierto malware en la RAM, como se oculta, conexiones de red que proporciona, etcétera.

En el artículo de hoy vamos a descargar una captura de RAM con una imagen de un Zeus (antiguo) y veremos que cosas podemos sacar con Volatility Framework. Es interesante entender el funcionamiento del framework, y también el comportamiento del malware por separado. En primer lugar descargamos la muestra de la captura de RAM para su análisis con Volatility.

Generalmente, cuando utilizamos Volatility y queremos analizar una captura de RAM, una de las primeras acciones que se deben realizar es comprobar la información de la imagen (o captura) obtenida. Utilizaremos la sintaxis vol imageinfo -f <file RAM>.

Otra de las acciones normales que se deben realizar es comprobar el estado de las conexiones de red en el instante de la captura de RAM y los procesos que ejecutaban en el sistema. Las sintaxis para estas dos acciones son vol connscan -f <file RAM> y vol pslist -f <file RAM>también es interesante vol pstree -f <file RAM>

La dirección IP remota que aparece en esta información debe ser analizada y obtener el máximo de información de ella. Al realizar el volcado de la lista de procesos se puede ver que el PID corresponde con un proceso svchost.exe, este hecho no nos dice gran cosa a priori, solo que si es malware está escondido en un proceso "vital". Al hacer un whois de dirección IP podemos sacar lo siguiente:

Con el plugin hivelist podemos ver donde Windows coloca los archivos en memoria. La rama HKCU, se encuentra en el archivo NTUSER.DAT, cuya dirección se puede obtener con hivelist. Otras subramas del registro importantes son HKLM y \Windows\System32\config, con todo esto se pretende conseguir información a través del registro de Windows.

En esta captura podemos obtener las direcciones donde se encuentra \Windows\System32\config\software y NTUSER.DAT. La clave del registro UserInit indica al sistema operativo que aplicación debería ejecutarse después del que el usuario inicie sesión en el sistema. La aplicación por defecto para llevar a cabo esta acción es \Windows\System32\userinit.exe. Generalmente esta aplicación lo que restaura son fuentes, perfiles o colores, pero podemos hacer que ejecute otras aplicaciones. Este lugar es común para ocultar troyanos, ya que podemos añadir fácilmente ejecutables separándolos por comas.

Para conocer el valor de esta clave utilizaremos el plugin printkey de Volatility de la siguiente manera vol printkey -f <file RAM> -o <dirección virtual software> -K 'Microsoft\Windows NT\CurrentVersion\Winlogon'.

Se puede ver como en Userinit existe una aplicación denominada sdra64.exe, la cual estudiaremos en la segunda parte del artículo. Hasta aquí Volatility por hoy.

1 comentario:

  1. [...] el artículo anterior de Volatility Framework habíamos descubierto en EXE en el Userinit, el cual nos parecía sospechoso. Hay que recordar que [...]

    ResponderEliminar