Guía de configuración de Cuckoo Sandbox paso a paso(Herramienta de análisis de malware)

Pensé en escribir este artículo porque el proceso de configuración de Cuckoo es complejo y me llevó mucho tiempo configurarlo. Y quería ayudar a otros a evitar estos problemas porque no hay muchas guías que sean precisas y estén actualizadas.

Cuckoo es una herramienta de análisis de malware automatizado de código abierto, que da permite analizar muchos archivos maliciosos diferentes que afectan a diferentes sistemas operativos como Windows, Linux, macOS y Android.

Como algunos de ustedes saben, hay dos tipos de análisis de Malware,

1. Análisis estático de malware – Analizar el malware sin ejecutarlo realmente. Tendrá en cuenta características como el nombre del archivo, las sumas de comprobación MD5 o los hashes, el tipo de archivo, el tamaño del archivo y el reconocimiento por parte de las herramientas de detección antivirus.

2. Análisis dinámico de malware – Analizar el malware ejecutándolo realmente y analizando sus comportamientos, como las llamadas a la API, los usos de memoria, el tráfico de red, etc.(Cuckoo es una herramienta de análisis dinámico de malware)

¿Qué es el Sandboxing?

En la seguridad informática, ejecutamos programas o códigos desconocidos, no probados o no confiables, programas en entornos virtuales sin poner en riesgo nuestra máquina anfitriona o sistema operativo. A esto se le llama sandboxing. Cuckoo nos da la facilidad de ejecutar una aplicación o archivo desconocido y no confiable dentro de un entorno aislado y analizar su comportamiento.

Configuración de la máquina anfitriona

Mi máquina anfitriona es Ubuntu 18.04 con 16GB de RAM. Os aconsejo encarecidamente que utilicéis una máquina Linux como máquina anfitriona. Antes de instalar Cuckoo en nuestra máquina anfitriona, es necesario instalar algunas bibliotecas de python y paquetes de software. Además, ten en cuenta que python 2.7 es necesario para ejecutar Cuckoo. (Cuckoo no soporta versiones anteriores de python o python 3).

  • Actualiza la información del paquete y descarga las actualizaciones disponibles.
    sudo apt-get update
    sudo apt-get upgrade
  • A continuación, instala las dependencias de python necesarias para Cuckoo:
    sudo apt-get install python python-pip python-dev libffi-dev libssl-dev
    sudo apt-get install python-virtualenv python-setuptools
    sudo apt-get install libjpeg-dev zlib1g-dev swig
  • Para utilizar la Interfaz Web basada en Django, se requiere MongoDB:
    sudo apt-get install mongodb
  • Para utilizar PostgreSQL como base de datos habrá que instalar también PostgreSQL:
    sudo apt-get install postgresql libpq-dev

El siguiente paso es instalar el software de la Máquina Virtual en tu máquina anfitriona. Cuckoo recomienda utilizar VirtualBox como software de la máquina virtual. Se recomienda instalar la versión 5.2 de VirtualBox. Usted puede encontrar la distribución en este sitio web aquí o puede instalarlo a través de la aplicación de software de Ubuntu.

  • Instalar tcpdump para volcar la actividad de red realizada durante la ejecución del malware.sudo apt-get install tcpdump
  • Instalar M2Crypto. Si ya tienes instalado swig, con ejecutar el segundo comando es suficiente.
    sudo apt-get install swig
    sudo pip install m2crypto==0.24.0

Después de instalar estos paquetes, ahora puedes instalar Cuckoo en tu sistema. Para instalar ejecuta los siguientes comandos. O simplemente puedes descargar el archivo zip.

sudo pip install -U pip setuptools
sudo pip install -U cuckoo

Después de instalar Cuckoo, tienes que configurar correctamente el VirtualBox y su red.

  • Podemos crear el «Host-Only Adapter» ejecutando el siguiente comando:
    vboxmanage hostonlyif create

Este comando creará la interfaz de host vboxnet0.

  • Establezca la dirección IP para la interfaz vboxnet0 que creó antes.

vboxmanage hostonlyif ipconfig vboxnet0 – ip 192.168.56.1

A continuación, puede crear su máquina virtual en VirtualBox e instalar el SO. Se recomienda Windows 7. Después de instalar el SO, tienes que configurar el adaptador de red de la VM a «Host Only Adapter». Lo cual es fácil haciéndolo desde la GUI,

Configurar «Host-only Adapter» en la configuración de la VM de VirtualBox

Después de eso, hay que configurar el reenvío de IP para que una conexión a Internet se enrute desde la máquina anfitriona a la VM invitada. Aquí la interfaz asignada a nuestra VM es vboxnet0 y la dirección ip de la VM es 192.168.56.101 que está en la subred de 192.168.56.0/24. Y la interfaz de salida que se conecta a Internet es eth0. Puede cambiar en situaciones como cuando se conecta a Internet a través de wifi. Puedes encontrar la interfaz que está conectada a internet con este comando, ifconfig. Aquí estoy asumiendo que la interfaz conectada a internet es eth0,

Después de ejecutar estos comandos tienes que habilitar el reenvío de IP en el kernel. Para ello, tienes que ejecutar los siguientes comandos:

echo 1 | sudo tee -a /proc/sys/net/ipv4/ip_forward
sudo sysctl -w net.ipv4.ip_forward=1

Estas reglas sólo serán válidas hasta el próximo reinicio. Para comprobar si ha configurado las reglas correctamente, puede ejecutar este comando:

sudo iptables -L

Configuración de la máquina huésped

Ahora puede empezar a configurar la máquina huésped que tiene instalado windows7. En primer lugar, configure el ajuste del adaptador de red de la siguiente manera,

  • Después de cambiar las configuraciones de red, usted tiene que hacer las siguientes personalizaciones a la VM.
  1. Desactivar Windows Update y Windows Firewall. (Imagen)

2. Cambiar la configuración del control de cuentas de usuario. (Imagen)

3. Instale sus versiones preferidas de Adobe Reader, Adobe Flash Player, Microsoft Office y Java. (opcional)

4. Instale python 2.7 para Windows – Puede descargar python 2.7 desde aquí.

5. Sube el archivo agent.py desde tu máquina anfitriona que se encuentra en el directorio ~/.cuckoo/agent. Póngalo en la carpeta de inicio de Windows que se encuentra en «C:\NUsers\%USERNAME%\AppData\Roaming\Microsoft\Windows\StartMenu\Programs\Startup». Después de reiniciar la VM podrás ver un terminal abierto en la VM. (Puede habilitar la función de arrastrar y soltar en la configuración de VirtualBox. Habilitar sólo para arrastrar y soltar desde el host al huésped).

Cambiar la configuración del software de Cuckoo

Los archivos de configuración de Cuckoo se encuentran en el directorio ~/.cuckoo/conf. Puede abrir esos archivos en gedit utilizando este comando:

sudo gedit cuckoo.conf

Haga los siguientes cambios en los archivos conf.

cuckoo.conf

auxiliar.conf

virtualbox.conf

Cambie el nombre del parámetro por el nombre de su VM. El nombre establecido por defecto es ‘cuckoo1’.

processing.conf

reporting.conf

Ahora que ha terminado de configurar, puede iniciar Cuckoo.

Analizando con Cuckoo

Ejecute los siguientes comandos para iniciar Cuckoo y la interfaz web de Cuckoo. Ejecútelos en dos ventanas de terminal separadas.
Terminal #1: cuckoo
Terminal #2: cuckoo web runserver

Luego puede acceder a la interfaz web yendo a esta dirección en su navegador web favorito:
goto: localhost:8000

La interfaz web tendrá un aspecto similar al siguiente cuando se cargue:

Leave a Reply