Una de las partes fundamentales en el
análisis dinámico de códigos maliciosos es la
obtención de información a partir de una captura de tráfico. Para lograr este objetivo además de las
opciones para hacer gráficos, el
uso de filtros en Wireshark para detectar actividad maliciosa suele ser una de las alternativas más utilizada.
Pero no es la única herramienta para lograrlo, por ejemplo
Malcom permite examinar estructuras de redes maliciosas
facilitando el análisis de las relaciones entre las diversas
direcciones IP, dominios y servidores DNS que toman parte en una
comunicación C&C, permitiendo procesar rápidamente los datos
recolectados y creando gráficos intuitivos que ponen en evidencia las
conexiones entre equipos en red. Otra interesante opción para
analizar archivos pcap es CapTipper,
desarrollada en Python tiene una serie de características que facilita
la lectura de estos archivos permitiendo ahorrar tiempo y optimizando el
trabajo de auditoría.
Dentro de todo el arsenal de herramientas que se podrían encontrar para realizar este tipo de actividades encontramos
Bro, pensado como un
sistema de detección de intrusiones (IDS) que corre en plataformas UNIX/Linux y cuyo principal objetivo es
permitir el análisis del tráfico de red en busca de actividad sospechosa. Ya de hecho la habíamos utilizado para extraer información de archivos pcap y
visualizar las capturas de tráfico de botnets con OpenGraphiti, además de servir para procesar y simplificar la identificación de patrones entre los bots durante la
Operación Liberpy.
Dado que es una herramienta bastante útil y que por su facilidad para hacer scripts resulta bastante
flexible y adaptable, sobre todo para el
análisis forense de una gran cantidad de datos. Vamos a hacer escribir
una serie de post con información de cómo utilizar Bro y algunas ideas que podrían resultar relevantes.
Bro 101: Por dónde empezar
Esta herramienta
permite analizar la actividad de red a nivel de aplicación
para ir comparando este comportamiento con patrones que pudieran ser
considerados sospechosos ya sea por el tipo de paquetes que se
intercambien o las características de su contenido.
Para iniciar nuestros análisis solo debemos ejecutar el comando para
copiar el repositorio directamente desde GitHub. Con estos además de
asegurarnos que tenemos la última versión se nos facilitará su
actualización:
git clone --recursive git://git.bro.org/org
Una vez tenemos el repositorio en nuestra máquina, solo nos queda instalar algunas
dependencias
y ejecutar la instalación de nuestra herramienta. Esta herramienta es
conocida por sus funcionalidades de IDS, pero en este caso nos va
interesar darle una mirada a las características para extraer
información de las capturas de tráfico.
Dentro de las características que vale la pena resaltar en la
capacidad para analizar grandes volúmenes de tráfico.
El funcionamiento de la herramienta como ya lo mencionamos se hace a
través de scripts, con los cuales se hace la extracción de información
que se esté buscando.
Como resultado de aplicar Bro sobre un archivo pcap resultan
varios archivos con información más específica y organizada de acuerdo a
las características de cada script. Utilizando la opción más básica de Bro podemos obtener una gran cantidad de información discriminada por protocolos:
bro –r [ruta_archivo_pcap]
Ahora tenemos varios archivos con la información organizada de diferentes manera. Por ejemplo en el archivo
http.log
se pueden encontrar filtradas las peticiones HTTP de la captura de
tráfico. Como se puede ver en la siguiente imagen, algo que puede llamar
la atención durante un análisis es la descarga de un archivo
ejecutable:
El
string que está resaltado en amarillo, nos va a permitir hacer
seguimiento de este evento en particular a través de los demás archivos
generados por la herramienta. Por ejemplo si vamos al archivo
conn.log y
buscamos esta cadena de caracteres vamos a obtener más información
sobre la conexión como el momento en que se llega el primer paquete, las
ip y puertos utilizados, la duración de la conexión, el origen de la
conexión, entre otra información que podría resultar interesante para el
análisis:

Hasta este punto
con
el manejo de Bro podemos obtener información similar a la que podríamos
encontrar en otras herramientas como Wireshark o CapTipper, solo que organizada de una manera diferente.
En
nuestro próximo post, vamos a ver como apoyarnos en scripts de Bro para
reunir información de diferentes fuentes y que nos quede disponible
para su análisis.
Créditos imagen: © Mike Mozart/Flickr
Fuente: http://www.welivesecurity.com/la-es/2015/07/30/bro-la-herramienta-de-analisis-forense-de-pcaps-que-debes-conocer/