Análisis de tráfico de red de sesiones TCP con Streams.

Hemos vistos diversas herramientas de análisis de tráfico de red. Hemos estudiados estas herramientas de forma onffline a través de ficheros de captura de red .pcap, online o en tiempo real y, además, hemos visto herramientas de análisis de forma visual.

En esta ocasión vamos a ver una herramienta para el análisis de flujos TCP. Se trata de Streams, una herramienta desarrollada por Tillmann Werner que procesa y analiza los streams TCP a partir de ficheros .pcap. Se basa en línea de comandos para el proceso, filtrado, etc datos de las sesiones.

Veremos brévemete su uso a través del análisis de un fichero .pcap.

Instalación de Streams.

Para la instalación yo he usado git porque mediante wget, etc tuve algún que otro problema.

git clone git://git.carnivore.it/streams.git
cd streams/
autoreconf -fv –install
./configure –with-libreadline-includes=/usr/include/readline/
make
make install

Uso básico de Streams.

nos situamos en /opt/streams/bin$  y

sudo ./streams

Tenemos lo siguiente:

alfon@alfonubuntu:/opt/streams/bin$ sudo ./streams

Ahora vamos a indicar el archivo .pcap a analizar. Para ello usamos el comando analyze:

> analyze /home/alfon/pcap/02032011.pcap

la respuesta:

file processed, 1328 streams (1154 non-empty and complete).

Podemos realizar un listado con list para ver todos y cada uno de los streams con la siguiente información:

1:       0.291104      18.640350  192.168.1.245:13266 > 192.168.1.11:4002 (20830 bytes)

  • 1 número / identificación de la sesión
  • 0.291104  marca de tiempo del comienzo
  • 18.640350 marca tiempo final del stream
  • 192.168.1.245:13266 IP origen y puerto
  • 192.168.1.11:4002 IP destino y puerto
  • (20830 bytes) bytes totales del stream

Usamos el comando filter para establecer o no el filtrado de tal forma que veamos o no todos los streams o que veamos los streams completos y no vacíos.

Ahora usamos bpf para establecer un filtro de este tipo:

> bpf host 192.168.1.11 and port 993

y hacemos un list:

Aplicando el filtro tenemos dos sesiones, 0 y 2. Vamos a verlas. Para ello vamos a hacer uso de un programa externo con el comando ext. Por ejemplo podenos usar hexdump (contenido hexadecimal) ó hd (hexadecimal y ASCII). Para ello:

> ext hexdump ó ext hd

y con el comando pipe pasamos la sesión que queramos a hexdump o hd:

Aplicamos de nuevo el comando bpf para dsactivar el filtro y aplicamos uno nuevo:

Otro ejemplo.

Voy a usar un fichero .pcap de los repositotrios Wireshark. Hacemos lo mismo. Abrimos el archivo y hacemos un list para ver las sesiones:


alfon@alfonubuntu:/opt/streams/bin$ sudo ./streams
_
_____ _____     ___| |_ _ __ ___  __ _ _ __ ___  ___
_____     |_____|_____|   / __| __| '__/ _ \/ _` | '_ ` _ \/ __|
|_____| _  |_____|_____|   \__ \|_| | |  __/ (_| | | | | | \__ \  _   _ _
(_|_)____        (_)  |___/\__|_|  \___|\__,_|_||_| |_|___/ (_) (_|_)
|_____|
version 0.1.0, Copyright (C) 2011 by Tillmann Werner

streams> analyze /home/alfon/pcap/smtp.pcap
file processed, 2 streams (2 non-empty and complete).
streams> list
0:       0.000000       7.235530  10.10.1.4:1470 > 74.53.140.153:25 (14705 bytes)
1:       0.346950       7.576953  74.53.140.153:25 > 10.10.1.4:1470 (538 bytes)
streams>

Se trata de una sesión SMTP. Se trata de un fichero .pcap pequeño pero podría ser que fuese un archivo mucho más grandes y no de solo dos sesiones. En el siguiente ejemplo vamos a usar el comando match para realizar búsquedas en los streams:


streams> analyze /home/alfon/031110.cap
file processed, 12928 streams (12155 non-empty and complete).
streams>

Este tiene 12928 sesiones. Vamos a usar match para buscar:


En este o cualquier otro caso, cuando tengamos iudentificado los datos que necesitemos, por ejemplo ficheros del tipo  (.pdf, .jpg, ewtc),  podemos salvar a un fichero binario. Lo haremos con los comandos outfile y dump para posteriormente abrirlo y analizarlo:

La secuencia sería:


streams> outfile /home/alfon/fichero.bin
streams> dump 3083
180808 bytes written to /home/alfon/fichero.bin
streams>

Teenemos otro comandos que es status que, en cualquier momento, nos informa de los filtros aplicados, expresiones bpf usadas o de búsquedas match, aplicación de filter, etc.

Con cualquier comando sin argumentos lo que hacemos es anular le efecto del comando para poder indicar otro valor

====

Hoy hasta aquí por hoy. Hasta la próxima.

Esta entrada fue publicada en Herramientas, Interpretación capturas tráfico red. pcap, Seguridad y redes. Guarda el enlace permanente.

Una respuesta a Análisis de tráfico de red de sesiones TCP con Streams.

  1. quique dijo:

    Buenas esta parte no se por que me da error

    git clone git://git.carnivore.it/streams.git
    cd streams/
    autoreconf -fv –install
    (aqui autoreconf: `configure.ac’ or `configure.in’ is required) el paquete autoreconf lo tengo instalado no entiendo el error
    ./configure –with-libreadline-includes=/usr/include/readline/
    make
    make install

    Gracias

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s