23 noviembre 2012

Cuckoo Sandbox Open Source malware analysis II

Hace ya días publiqué aquí en SBD una entrada sobre análisis de malware con Cuckoo.

Para quien haya probado la herramienta seguro que le han surgido ideas de añadir al proyecto para sacar mas información de los análisis o poder hacer análisis en concreto.

Aplicaciones vulnerables

Una de las cosas que tenemos que hacer si o sí para realizar algunos análisis de Exploits kits por ejemplo, es instalar aplicaciones vulnerables en la máquina virtual.
Puede parecer complicado el poder conseguir estas aplicaciones pero hay algunas webs que se encargan de recopilar versiones de software antiguos.
Una de esas webs es oldapp


En el caso de las aplicaciones a instalar, en mi caso busqué una versión de Java y otra de Adobe para poder caer en los Exploits kits.


Si buscamos por Java, aquí tendremos las distintas versiones que nos podemos bajar. Depende de la vulnerabilidad que estemos buscando que nos exploten en la máquina virtual elegiremos una versión u otra.

Ya tenemos por una parte las aplicaciones vulnerables a instalar.

Cuckoo + Virus Total

Otra de las cosas que podemos añadir a los análisis que hacemos con Cuckoo es el ratio de detección con VirusTotal.

Cuckoo ya lleva un módulo para ello, solo hay que añadir la API, para conseguir la API de virus total nos registramos y en nuestro perfil la encontraremos


El fichero python lo tendremos que modificar aquí:

PATH/cuckoo/modules/processing


La API en base al MD5 consultará si el archivo ha sido analizado en la platarforma de Virus Total. Si se ha analizado nos dará el ratio de detección, además del resultado de los antivirus claro:


Si por el contrario, Virus Total no tiene la muestra:


Recordad que en ningún caso subiremos la muestra a Virus Total.

Cuckoo + dominios maliciosos

Por último, otra de las cosas interesantes que podemos añadir a nuestros análisis es que Cuckoo nos avise cada vez que una muestra se ha conectado a un dominio malicioso.

En el blog de rootshell.be escribieron una entrada con un script que nos ayudará en ello.

Primero, en la carpeta /cuckoo/modules/signatures/ añadimos el siguiente código en python:


El código original lo podéis consultar aquí.

Luego en el raíz de Cuckoo creamos una tarea en shell script que actualice la lista de dominios:


Una vez que tengamos esto configurado. Cuando Cuckoo realice las operaciones de post-analisis comprobará si el dominio al que se ha conectado la muestra se encuentra en esa lista.

Si se encuentra en la lista en el análisis veremos:



En esta entrada se ha visto algunos añadidos que se le pueden dar a Cuckoo para mejorar y obtener mas información en los análisis con Cuckoo.

No obstante, recordaros que el proyecto está muy vivo y que podéis hacer vuestras aportaciones.

Artículo cortesía de Marc Rivero López