Personalización de “Cuckoo Sandbox”

Cuckoo Sandbox como muchos de nuestros lectores ya sabrán es una aplicación para el análisis automático de malware. El proceso de instalación en la versión actual de la sandbox es bastante sencillo y ha sido descrito por otros blogs de manera muy detallada. Una vez ya disponemos de la sandbox instalada, ésta nos proporcionará informes, como los que podemos encontrar en el servicio de análisis de malware alojado en Malwr, sobre el comportamiento del malware, sobre las APIs importadas, con los resultados de virustotal, el packer utilizado, etc.

En esta entrada me gustaría destacar “la verdadera potencia”, bajo mi humilde punto de vista, de esta sandbox, y que la podemos encontrar en el diseño modular que han realizado sus desarrolladores y en la sencillez para desarrollar módulos para el análisis automático de malware. Convirtiéndola en una Sandbox muy personalizable.

El diseño contempla los siguientes tipos de módulos:

  • Machine Managers: son los módulos para interactuar con el software de virtualización, como vmware y virtualbox principalmente.
  • Analysis Packages: módulos que se encargan de tratar los diferentes tipos de paquetes (packages: exe, bin, pdf, etc.).
  • Process Modules: módulos que definen las acciones que se lanzan sobre los resultados (pcap, etc.) recogidos en la fase de análisis y ejecución del malware.
  • Signature Modules: módulos a través de los cuales se definen firmas que se aplican sobre los resultados finales (“Process Modules”) de las fases anteriores.
  • Reporting Modules: módulos responsables de mostrar los resultados.

Como vemos podemos desde añadir soporte para un nuevo hipervisor (por poner un ejemplo, podríamos añadir soporte para simular Android), hasta definir cómo queremos que se nos muestre la información en nuestro cuadro de mando con el diseño de un módulo de informes.

La verdad es que el diseño realizado permite escribir de manera rápida y sencilla módulos, por lo menos signatures que ha sido lo que he probado. Os dejo dos ejemplos creados de forma rápida y que han sido añadidos al proyecto (podéis bajaros toda las firmas de la comunidad con la utilidad “utils/community.py”):

  • CreateRemoteThread: detecta inyecciones de código con CreateRemoteThread.
  • Bot Ruskill Mutex: detecta un mutex del bot Ruskill por lo que hemos podido ver en diferentes muestra ejecutadas en la Sandbox.

Como véis la potencia de personalización es muy grande y si arranca motores la comunidad, Cuckoo será una alternativa muy seria para el análisis automático de malware.

Comments

  1. Esta aplicación esta realmente bien y sobretodo el hecho de poder emular Android, etc.

  2. Aún no existe soporte para el simulador de Android, pero se le podría dar desarrollando un módulo de tipo “virtual manager”, aprovechando con ello el resto de trabajo realizado por el proyecto en las siguientes fases o capas. Por ejemplo, se aprovecharía todo el procesado de ficheros PCAP que se realiza en el módulo network.py, con lo que reconocería los flujos tcp, udp, tráfico HTTP, DNS, etc.
    Simplemente con añadirle soporte.

    Ahora mismo si alguien tiene alguna funcionalidad que le gustaría ver en la versión 0.5 de cuckoo puede proponerla aquí:

    http://community.cuckoosandbox.org/posts/show/what-is-that-you-want-to-see-in-05/

  3. ¿Podrías echarle un vistazo al Buster Sandbox Analyzer? Al igual que Cukcoo Sandbox, es una herramienta para analizar ficheros y comprobar si tienen un comportamiento malicioso. La herramienta usa Sandboxie para ejecutar los programas a analizar de forma segura.

    La web de la herramienta es: http://bsa.isoftware.nl/

    El proyecto ya lleva más de tres años de desarrollo. En este momento el desarrollo está enfocado a añadir comportamientos maliciosos no soportados y así mejorar la calidad y exactitud de los reportes. Cualquier ayuda para mejorar ese aspecto será bienvenida.

  4. Buster, no puedo prometerte que revisemos el Buster Sandbox Analyzer (aunque lo voy a pedir al personal de seguridad). No obstante, estás invitado a publicar una entrada describiendo la herramientas y un ejemplo de uso (o cualquier otra cosa que pienses que puede ser interesante).

  5. Gracias Manuel.

    Ya hay algunas “reviews” de la herramienta pero la mayoría están en inglés. Pongo enlaces a algunas de ellas:

    http://holisticinfosec.blogspot.com.es/2012/05/toolsmith-buster-sandbox-anayzer.html
    http://www.raymond.cc/blog/buster-sandbox-analyzer-makes-sandboxie-stronger/
    http://cleanbytes.net/sandboxie-one-of-the-best-security-tool

    Aquí hay una en español:

    http://www.hackplayers.com/2012/08/buster-sandbox-analyzer-install-usage.html

    Más que un artículo, dado que ya hay varios y todos viene a explicar más o menos lo mismo, estaría más interesado en ayuda para desarrollar módulos para el análisis automático de malware.