viernes, 31 de enero de 2014

Cuckoo Sandbox - Instalación & Configuración



 
Cuckoo Sandbox es una herramienta open source, escrita en Python, que tiene como objetivo el análisis automatizado de malware.

Su función es arrojar información sobre el comportamiento que tienen las muestras de malware.

Al ser una Sandbox todas las muestras que se ejecuten en ella quedarán aisladas del resto del PC.

Su página oficial es http://www.cuckoosandbox.org/.


Descarga

Para descargar Cuckoo Sandbox podemos hacerlo de 2 maneras:
  • Descargarlo/Descomprimirlo manualmente.
  • Clonando el repositorio (git clone git://github.com/cuckoobox/cuckoo.git)

Como véis yo me he decantado por clonarlo ya que es más cómodo.

Ahora tenemos que instalar VirtualBox para crear la máquina virtual donde se ejecutarán todas nuestras muestras de malware.
Para ello lanzamos los siguientes comandos:
  • prepare-kernel-sources
  • cd /usr/src/linux
  • cp -rf include/generated/* include/linux/
  • echo deb http://download.virtualbox.org/virtualbox/debian lucid contrib non-free >> /etc/apt/sources.list
  • wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -
  • apt-get update
  • apt-cache search virtualbox
  • apt-get install virtualbox-4.3


Configuración

 Ahora deberemos de modificar varios archivos de configuración antes de poder utlizar esta herramienta.
  • Cuckoo.conf: En este archivo se definen los parámetros de conectividad de la máquina Host y la interfaz de red con la que se conectará a la máquina virtual, la base de datos donde se registrará toda la información de los análisis, y también, los tiempos que durarán nuestros análisis.
  • Virtualbox.conf: Este archivo será el que relacione la virtualbox con cuckoo, y en él se configuran los parámetros de conectividad y las características de nuestra máquina virtual.
  • Reporting.conf: Este archivo contiene la configuración de los reportes de los análisis.
  • Processing.conf: Este archivo sirve para la activación y configuración de módulos de procesamiento.
Después de esto, tenemos que coger el archivo "agent.py" que se encuentra en la carpeta "Agent" dentro del directorio de instalación de cuckoo, copiarlo dentro de la máquina virtual e instalar python.
Este archivo se encarga de la comunicación y el intercambio de datos con la máquina Host.

Ahora nos falta crear una base de datos para que cuckoo guarde toda la información y pueda ser leída cuando se necesite.
Por defecto se guardará en "/db/cuckoo.db".
Si por ejemplo utilizamos MySQL, deberemos indicar la base de datos en el archivo cuckoo.conf de la siguiente manera:

connection = mysql://username:password@localhost/database


 Conectividad

Un paso muy importante para que puedan trabajar entre las dos máquinas es agregar las reglas en el Firewall de nuestra máquina Host para que acepte las conexiones procedentes de nuestra máquina virtual que será la que ejecute las muestras de malware. 



Ahora debemos realizar una imagen (snapshot) de la máquina virtual con el servicio agent.py corriendo.
 

 Para restablecer la máquina virtual al punto en el que se hizo la snapshot habrá que introducir los siguiente comandos:
  • vboxmanage controlvm "WinXP" poweroff
  • vboxmanage snapshot "WinXP" restorecurrent
  • vboxheadless --startvm "WinXP"
Bien, ya tenemos instalada y configurada nuestra Sandbox Cuckoo, ahora la iniciamos.


 Para disponer de todas las funcionalidades de las que dispone esta gran herramienta, se recomienda instalar las siguientes dependencias:
  • Dpkt (Muy recomendable): Para extraer información de los archivos PCAP.
  • Jinja2 (Muy recomendable): Para los informes HTML y la interfaz web.
  • Magic (Opcional): Para identificar los formatos de archivos.
  • Pydeep (Opcional): Para el cálculo de hash de los archivos.
  • Pymongo (Opcional): Para almacenar los resultados en una base de datos MongoDB.
  • Yara & Yara Python (Opcional): Para la coincidencia de firmas.
  • Libvirt (Opcional): Para el uso de KVM machine manager.
  • Bottlepy (Opcional): Para el uso de web.py & api.py.
  • Pefile (Opcional): Para el análisis estático de binarios PE32.

Para terminar les dejo con un video-tutorial.

Que lo disfruten!!!





Referencias:
http://www.cuckoosandbox.org/
http://blogs.eset-la.com/laboratorio/2013/12/24/analizando-muestras-cuckoo-instalacion-configuracion-1/
http://netsecuritystuff.wordpress.com/2011/05/23/virtualbox-on-backtrack-5/
http://santi-bassett.blogspot.com.es/2013/01/installing-cuckoo-sandbox-on-virtualbox.html
http://blog.michaelhaag.org/2013/10/cuckoo-sandbox-and-mysql.html
http://www.behindthefirewalls.com/2013/07/how-to-install-cuckoo-sandbox-on-ubuntu.html



**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