Hoy les vamos a hablar de una Sandbox. Para aquellos que no estén familiarizados con este tipo de aplicaciones, una Sandbox (caja de arena en español) no es (en este caso) más que una aplicación de análisis de malware que, mediante el aislamiento del proceso o fichero malicioso que se quiere analizar, permite conocer su funcionamiento detallado, incluyendo, entre otros, información acerca de la actividad de red y llamadas al sistema.
CuckooSandbox tiene varias características interesantes. Por un lado, se sirve de técnicas de virtualización para conseguir el aislamiento de los ficheros a analizar, a diferencia de otras Sandbox que utilizan técnicas de enjaulado de procesos para conseguir su objetivo. Por otro, su estructura completamente modular permite un gran abanico de configuraciones y adaptaciones a entornos concretos, lo que permite ser válida ante situaciones muy diferentes. Además, se trata de un proyecto de software libre bajo licencia GPL versión 3.
Para instalar CuckooSandbox necesitamos un equipo con sistema operativo Linux (preferentemente Ubuntu) que disponga de Python y la versión oficial de Oracle de VirtualBox. Una vez instalados los prerrequisitos, únicamente debemos descargar la aplicación desde esta ubicación y descomprimirlo en una carpeta de nuestra elección.
En la parte de las máquinas virtuales, que servirán de base para el análisis, el proceso de configuración es un poco más elaborado, pero básicamente necesitaremos un sistema operativo Windows actual (los módulos de análisis están pensados para las versiones inglesas), Python y versiones vulnerables de las aplicaciones que deseemos instalar. El proceso de configuración y puesta a punto está perfectamente referenciado en el apartado de Instalación de la documentación oficial. El paso final de la configuración es la creación de una instantánea de la máquina virtual, que sirve de punto de inicio en cada análisis, y al que se vuelve tras cada ejecución. A partir de aquí, el proceso de ejecución de análisis es extremadamente sencillo. Por una parte se debe iniciar el proceso cuckoo.py, que constituye el servidor central de la aplicación, y el que llevará toda la carga del análisis.
Por otra, se debe lanzar el proceso submit.py, que se encarga de enviar el fichero sospechoso al servidor para que sea analizado.
El proceso de análisis es modular y se incluyen por defecto varios paquetes de análisis que cubren distintos tipos de ficheros sospechosos. Actualmente se incluyen plantillas para ficheros ejecutables, librerías dinámicas, ficheros PDF, documentos ofimáticos, y apertura de URL con Internet Explorer y Mozilla Firefox, entre otros. Estas plantillas se pueden modificar o extender, e incluso crear nuevas para analizar otros tipos de fichero no contemplados en estas categorías.
Finalmente, una vez ejecutado el análisis, es momento de revisar los resultados obtenidos. Estos resultados incluyen los ficheros que ha descargado/creado el archivo sospechoso, los logs del sistema, informes del análisis, capturas de pantalla del equipo, traza de red, configuración y log del análisis, el fichero original y la traza de red:
Si además lanzamos el servidor web incorporado, podremos ver el informe en HTML, que incluye la información más relevante.
Como conclusión podemos decir que nos encontramos ante una utilidad muy útil a la hora de realizar análisis de ficheros maliciosos, y dado su carácter modular y la facilidad de uso, estamos seguros que pronto se hará un hueco en el mercado.
NOTA: Para probar esta aplicación, se utilizaron muestras de malware obtenidas del listado disponible en esta URL.
Para quien no disponga de entorno para instalar y probar esta aplicación, puede probarla online en la siguiente dirección, recién publicada: http://malwr.com/