Otros usos de Barnyard2

Ya hemos hablado anteriormente de Barnyard2, una herramienta para procesar ficheros Unified2 y que permite múltiples configuraciones de salida; la más utilizada, la escritura en Base de datos.

En este pequeño artículo hablaremos de otro uso que puede sernos de utilidad: la salida de ficheros en formato “pcap”. Este tipo de fichero puede ser procesado por otras aplicaciones, como el analizador de protocolos Wireshark —una potente herramienta gráfica que facilitan la vida de administradores de redes y técnicos de seguridad y cada vez ofrece una mayor cantidad de funciones—. En esta entrada vamos a ver un ejemplo de cómo podemos aprovechar esta opción para la conversión de un formato de archivo generado por Snort -del que también se ha hablado aquí- a otro que es capaz de trabajar con Wireshark para analizar esos paquetes “maliciosos”.

Vamos a recordar que Snort puede almacenar directamente la captura de tráfico en formato PCAP activando el siguiente módulo de salida:

output log_tcpdump: tcpdump.pcap

Pero, ¿qué ocurre si no tenemos configurada esa salida en el sistema, ya que repercute más en el rendimiento que el mencionado al principio, pero queremos realizar un análisis a posteriori? Vamos a ver cómo pasamos rápidamente de Unified2, a uno “pcap”. Lo más habitual es que Snort escriba directamente en una base de datos. A menudo, podemos querer analizar un conjunto de paquetes, pero el problema es que con BASE -un frontend basado en web para alertas de Snort- no permite descargar a la vez varios paquetes implicados en un mismo ataque por lo que la tarea se vuelve tediosa.

Vamos a utilizar Barnyard2 para leer este tipo de ficheros y configurarlo de forma que genere una captura de tráfico en formato “pcap”, teniendo como origen el pool donde se almacenan las alertas en local.

Para ello ejecutaremos la siguiente orden, poniendo especial atención a la selección del fichero de configuración, que en lugar de insertar los eventos en base de datos los convierta en un fichero “pcap” —especificándolo con la opción “-o”— con los siguientes parámetros:

/usr/local/barnyard2/bin/barnyard2 -c <conf_barnyard -pcap> -u snort -g snort 
-l <directorio_destino> -o <archivo_unified2>

Cabe destacar que el fichero de configuración debe tener descomentada la siguiente línea:

log_tcpdump: captura.pcap 
# el único parámetro que acepta es el nombre que se le dará al fichero,
# al que añadirá un timestamp

Una vez ejecutado esto, ya tenemos el fichero PCAP que podremos abrir y analizar con Wireshark.

Hay que tener en cuenta que al tratarse del registro de alertas de Snort, todos los paquetes habrán sido almacenados por coincidir con una regla de Snort, por lo que no tendremos la conversación completa. Para poder tener la traza completa, deberíamos tener un sistema que esté capturando todo el tráfico y guardándolo en formato PCAP, como podría ser tcpdump. Todo depende del volumen de tráfico y de la necesidad de tener esa captura. Dejo en el aire la posibilidad de montar ese sistema que tenga una ventana de registros de los días que se consideren necesarios para que, en caso de que nuestro IDS detectara alertas, podamos consultar para analizar el ataque en profundidad.

Comments

  1. Buen post Nelo. Yo lo llevo usando hace ya tiempo. A la hora de ver, de forma algo más «profunda» qué tráfico ha generado una determinada alerta es muy buena ayuda. Además puedes usar .pcap con AfterGlow para visualizar de forma gráfica datos que generaron determinadas alertas/eventos y otros campos, pasarlo por tcptrace, etc.

    Este sistema de usar los .pcap para analizar el tráfico, ya lo hace de forma natica Snorby.

    Saludos,

  2. Perdón, queria decir que de forma nativa lo hace Sguil con Transcript Wireshark. Snorby hace algo parecido usando OpenFPC para exportar .pcap

    Saludos,