miércoles, 19 de septiembre de 2012

Suricata 1.2.1 Extracción de ficheros de sesiones HTTP tráfico de red

En esta ocasión instalaremos y configuraremos la versión 1.2.1 de Suricata pero, además, añadiremos la funcionalidad de extracción de ficheros de sesiones HTTP.
Al lio..

Instalación de Suricata 1.2.1

wget http://www.openinfosecfoundation.org/download/suricata-1.2.1.tar.gz
tar -xvzf suricata-1.2.1.tar.gz

cd suricata-1.2.1

./configure –enable-prelude

–enable-prelude por si usamos suricata como un sensor prelude que es mi caso.
Ahora, si no tememos las carpetas creadas por otra instalación anterior de suricata hacemos:

mkdir /var/log/suricata/
mkdir /etc/suricata
cp suricata.yaml /etc/suricata
cp classification.config /etc/suricata
make
sudo make install
cd /etc/suricata 

Vamos a descargar las rules o reglas Emerging-Threats:

wget http://www.emergingthreats.net/rules/emerging.rules.tar.gz
tar xzvf emerging.rules.tar.gz 

La extracción de ficheros de sesiones HTTP en suricata se realiza mediante reglas. Un ejemplo de estas reglas (files.rules) las descargaremos y ubicaremos en /etc/suricata/rules :

wget https://redmine.openinfosecfoundation.org/projects/suricata/repository/revisions/master/raw/rules/files.rules

Editamos files.rules y descomentamos las reglas que queramos usar.

Modificación de archivo de configuración suricata.yaml

Editamos /etc/suricata/suricata.yaml
Aunque no es necesario para la extracción de ficheros, yo he realizado la modificación siguiente:

  – pcap-log:       enabled:  yes       filename: log.pcap

Para la extracción de ficheros nos hará falta:

  – file:       enabled: yes       log-dir: files       force-magic: no

log-dir files hará que los ficheros extraidos se depositen en /var/log/suricata/files
También en la sección stream:

stream:   memcap: 32mb   checksum_validation: no   inline: no                     reassembly:     memcap: 64mb     depth:       toserver_chunk_size: 2560     toclient_chunk_size: 2560

depth en 0, es decir, sin límite.
En cualquier caso también nos hará falta:
  • threshold-file: /etc/suricata/threshold.config
  • default-rule-path: /etc/suricata/rules/
  • classification-file: /etc/suricata/classification.config
  • reference-config-file: /etc/suricata/reference.config
En la sección libhtp:

libhtp:
   default-config:      personality: IDS      # Can be specified in kb, mb, gb.  Just a number indicates      # it’s in bytes.      request_body_limit: 0      response-body-limit: 0
   server-config:
     – apache:          address: [192.168.1.0/24, 127.0.0.0/8, "::1"]          personality: Apache_2_2          # Can be specified in kb, mb, gb.  Just a number indicates          # it’s in bytes.          request_body_limit: 0          response-body-limit: 0
     – iis7:          address:            – 192.168.0.0/24            – 192.168.10.0/24          personality: IIS_7_0          # Can be specified in kb, mb, gb.  Just a number indicates          # it’s in bytes.          request_body_limit: 0          response-body-limit: 0

En la sección rule-files, que es donde se indican las rules a cargar, comentamos o descomentamos las reglas de nuestro interés y, además, añadimos la regla que anteriormente descargamos files.rules:

 - files.rules

Otras modificaciones pueden ser la ubicación de puertos de servicios que se encuentran con la indicación de puertos por defecto, nuestra HOME-NET, etc.
y listo.
Sobre algunas características de suricata ya escribí algo aquí: IDS / IPS Suricata. Entendiendo y configurando Suricata. Parte I

Extracción de ficheros con suricata.

Ya solo nos queda ejecutar suricata:

sudo suricata -c /etc/suricata/suricata.yaml -r ../pcap1/ids_2.pcap

Vemos la salida de información en consola:

Ejecutando Suricata 1.2.1 para extracción ficheros sesiones HTTP 

Vamos a /var/log/suricata y vemos:

Logs de suricata 1.2.1 en /var/log/suricata y ficheros extraidos en files

Ya, en otro capítulo de Suricata IDS/IPS os hablé de los logs:

IDS / IPS Suricata. Instalación, configuración y puesta en marcha.

Dentro de la carpeta /var/log/suricata/files tendremos una serie de ficheros extraídos de la forma:

Suricata 1.2.1 fichers extraidos.

Tendríamos ficheros de texto, pfd, imágenes .js, etc ,etc ,etc,
Si editamos, por ejemplo, (estaría más a bajo del listado) file.9984.meta:

TIME:              12/07/2011-12:16:52.887378
PCAP PKT NUM:      869016
SRC IP:            195.xxx.152.xx
DST IP:            192.168.101.240
PROTO:             6
SRC PORT:          80
DST PORT:          36908
FILENAME:          /hphotos-xp-cpd4/381174_249112748_148457649_683242_1878105586_a.jpg
MAGIC:             JPEG image data, JFIF standard 1.02, comment: "*"
STATE:             CLOSED
SIZE:              10356

Tenemos información de la extracción respecto a origen, destino, puerto, etc. El archivo meta hace referencia, en este caso a file.9984.
En el explorador veríamos los ficheros:

suricata 1.2.1 extracción ficheros sesiones HTTP.

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.