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
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
mkdir /etc/suricata
cp suricata.yaml /etc/suricata
cp classification.config /etc/suricata
cp classification.config /etc/suricata
make
sudo make install
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
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 sí 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: 0
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:
Vamos a /var/log/suricata y vemos:
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:
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:
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.