Razorback (II)

Recordemos rápidamente el post anterior que Security Art Work publicó sobre Razorback: es un proyecto de código abierto actualmente en desarrollo por el equipo VRT de Sourcefire, cuyos objetivos son básicamente proporcionar un marco de trabajo unificado para la gestión de incidentes de manera avanzada en el que poder analizar tráfico, detectar ataques, generar alertas, correlarlas y guardar toda la información en una misma base datos. Con todo esto dispondríamos de una información muy valiosa de cara a detectar tendencias de ataques (entre otras cosas) y así poder prevenirnos.

Conocíamos la teoría, y sabíamos que potencialmente podría ser muy versátil gracias a su diseño modular, que lo hace escalable y personalizable (comentábamos que estaba formado por Nuggets que podemos crear nosotros mismos) pero hasta que no lo hemos probado no hemos visto qué era capaz de hacer.

La instalación del entorno no es rápida, sin embargo, disponemos de una máquina virtual con todo ya montado, ideal para probar de una manera cómoda el funcionamiento. Tiene instalados los siguientes nuggets: Yara, OfficeCat, ClamAV, Archive Inflate, Scripting, File Inject, Snort, Virus Total (se activa si le proporcionamos una API key) y el PDF Dissector ( solo se activa bajo licencia) y está montada sobre FreeBSD.

Una vez levantada la VM puedes acceder a la interfaz de administración (o de gestión como yo le he llamado, véase la siguiente imagen) desde http://:8080 :

Desde este panel de administración podemos gestionar fácilmente todo el sistema, desde la creación de usuarios, conexiones de red, creación de nuevas interfaces, control de los servicios, estado de los nuggets, ver qué procesos se están ejecutando, comprobar el estado de nuestra CPU, tráfico a través de las interfaces, etc. Por ejemplo, en la siguiente imagen vemos como desde el panel de administración comprobamos que nuggets tenemos funcionando:

También podemos comprobar los servicios:

En el puerto 80 podemos acceder a la interfaz de usuario, en la cual podemos consultar los eventos generados o subir ficheros para que los analice directamente («Submit Data Block«). A continuación se muestra una imagen de dicha interfaz en la que mostramos el campo Status, para comprobar el estado general del sistema:

Se ha probado por ejemplo a pasarle un fichero comprimido que contenía un ejecutable malicioso y en los eventos generados se puede ver el análisis que se le hace tanto al fichero comprimido como a cada fichero contenido en él alertándonos en que fichero se alojaba el malware.

Para las pruebas que se hicieron, se configuró una nueva interfaz de red en la VM (que se llamó monitorización —ver primera imagen de este post—) de modo que Snort (nuestro nugget collector) monitorizara todo el tráfico que llegara por esa interfaz. Una vez hecho ésto, para probar el funcionamiento se le pasaron varios pcap con malware que se cogieron de este repositorio. Comentar que se hizo con Tcpreplay:

/usr/local/bin/tcpreplay --intf1=em1 file.pcap

De esta forma se inyecta por la interfaz em1 (mi interfaz de monitorización) un fichero file.pcap.

Así, una vez enviado tráfico sobre la interfaz de monitorización puedo observar en la interfaz de usuario, en Events, todas las alertas que me genera ese tráfico, aquí una imagen (cortada porque era un gran listado de eventos):

En la imagen anterior vemos tres eventos a modo de ejemplo, en los dos primeros nos muestra que se han generado alertas (5ª columna). Desplegando, en este mismo panel, los metadatos asociados al evento que tenemos seleccionando nos da la siguiente información:

Pinchando directamente en las alertas generadas nos muestra lo siguiente:

Desplegando la sección de Malware Names, nos saca un listado (incompleto porque se ha acortado para que se viera mejor) de nombres de este tipo de malware:

En líneas generales este sería el funcionamiento básico de Razorback.

Por supuesto está aún en “pañales” y probablemente se le pueda sacar mucho más partido en un futuro del que se ha mostrado en este post, pero nos da una idea de lo que es capaz de hacer y cómo manejarnos a través de los paneles de gestión que incorpora. Tras las breve toma de contacto que se ha tenido con este Framework diríamos que algunas ventajas a tener en cuenta serían que es apropiado para detectar en tiempo real incidentes contra usuarios finales, puedes crear tus propios nuggets, parece interesante para detectar 0-day, detección de tendencias de ataques, interesante a la hora de hacer un análisis forense a un pcap, las interfaces son muy intuitivas… Por otro lado, sus principales inconvenientes serían que está en desarrollo, parece generar falsos positivos y es complicado de montar.

Comments

  1. Muy buen artículo, le tenía perdida la pista a este proyecto y acaba de entrar en mi top de proyectos a seguir.

  2. Gracias Yago :)

  3. Hola Yago! gracias por tu comentario. La verdad es que es un proyecto muy interesante y merece la pena seguir sus pasos.

    Un saludo :)