Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 1
Dr. Roberto GómezLámina 1
Snort
Roberto Gómez Cárdenas
http://homepage.cem.itesm.mx/rogomez
Dr. Roberto GómezLámina 2
Snort
• Escrito por Martín Roesch (1998)– fundador de sourcefire (www.sourcefire.com)
• Es una version ligera de IDS de red que se basa en libpcap, y corre en UNIX
• Gratuito• Puede lograr búsquedas de contenido
en paquetes de IP– después a través de un logging, le avisa al
administrador de seguridad si ha habido alguna actividad inusual
Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 2
Dr. Roberto GómezLámina 3
SNORT
• Provee a los administradores de seguridad con la información suficiente para tomar decisiones adecuadas.
• Puede ayudar cuando se encuentran hoyos de seguridad y no se haya liberado su “parche” o cuando por pólitica de seguridad no se pueda instalar el “parche” sin antes ser probado.
• Disponible bajo la licencia GNU (General PublicLicense) y su código fuente está disponible.
Dr. Roberto GómezLámina 4
SNORT
• Sniffer basado en libpcap que puede ser utilizado como NIDS ya que cuenta con capacidad de analizar, a través de reglas, el contenido completo de cada paquete que circula por la red.
• Utiliza reglas definidas por el administrador de seguridad para buscar patrones y detectar actividad hostil (buffer overflows, STEALTH portscans, CGI attacks, etc.) dentro de la red.
• Existen bases de datos conocidas con las huellas de ataques más comunes (http://www.whitehats.com/ids/index.html)
Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 3
Dr. Roberto GómezLámina 5
SNORT vs TCPdump
• ¿Porqué se puede decir que SNORT no es un simple sniffer?
• SNORT es distinto a TCPdump ya que éste no tiene capacidad de analizar el “payload” de los paquetes.
• SNORT puede decodificar hasta la capa de aplicación, por lo tanto también, capa transporte, capa red, capa enlace.
• La salida que entrega SNORT es más legible que la entregada por TCPdump.
Dr. Roberto GómezLámina 6
SNORT
• Los 3 elementos básicos de SNORT son:
1. decodificador de paquetes
2. motor de detección
3. subsistema de “logeo” y alerta
Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 4
Dr. Roberto GómezLámina 7
Plataformas
• Snort corre en casi cualquier versión de UNIX, incluyendo: – Linux (originalmente desarrollado para y en)
– OpenBSD
– FreeBSD
– Solaris
– HP-UX
– AIX.
– Windows ( ¿porque no? )
Plataformas de hardware como Sparc, Alpha y los x86.
Dr. Roberto GómezLámina 8
Donde se obtiene
• Versión actual 2.6
• Página snort– http://www.snort.org
• Las firmas se pueden bajar de– http://www.snort.org
– http://www.whitehats.ca
– http://www.silicondefense.com
Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 5
Dr. Roberto GómezLámina 9
Instalando snort en ambientes Unix
• Bajar y compilar– Snort (.src.rpm, .rpm, .src.tar.gz)
– Reglas actuales
– Libnet (si no se tiene instalado)• Unix: http://www.packetfactory.net/libnet
• Windows: netgroup-serv.polito.it
– Libpcap (si no se tiene instalado)• Unix: www.tcpdump.org/release/libpcap
• Windows: netgroup-serv.polito.it/winpcap
Dr. Roberto GómezLámina 10
Archivos instalados
• /root/Downloads/snort-2.4.3/etc/– contiene los archivos de configuración
• /var/log/snort– contendrá las bitácoras generadas por snort
– NO lo instala es necesario crearlo
• /usr/bin/snort– contiene el ejecutable de snort
Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 6
Dr. Roberto GómezLámina 11
Pasos previos para usar snort
• Crear el directorio de bitacoras– mkdir /var/log/snort
• Bajar los archivos de reglas– http://www.snort.org/pub-bin/downloads.cgi– subscription release, registered user release, unregistered user release,
Community Rules
• Instalar los archivos de reglas– cd /root/Downloads/snort-2.4.3/– tar -zxvf snortrules-pr-2.4.tar.gz– se crearán dos directorios: ~/rules y ~/doc/signatures
• Trasladarse al directorio donde se encuentran las reglas y el archivo de configuracion– cd /root/Downloads/snort-2.4.3/etc– snort
Dr. Roberto GómezLámina 12
Una prueba rápida
• Ejecutar siguiente comando dentro del directorio /etc/snort
• Desde otra máquina, utilice nmap para generar eventos para que los detecte snort
• Se debe ver una alerta como la que sigue:
toto@cognac:3> snort –A console *
toto@tequila:3> nmap – Sp <IP máquina con snort>
03/27-15:18:06.911226 [**] [1:469:1] ICMP PING NMA P [**] [Classification: Attempted Information Leak] [Prior ity: 2]{ICMP} 192.168.1.20 -> 192.168.1.237
* posible tener definir ubicación archivo configuracio: snort -A console -c etc/snort.conf
Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 7
Dr. Roberto GómezLámina 13
Modos operación snort
• sniffer– solo lee los paquetes que circulan por la red y los
despliega
• packet logger– almacena paquetes en el disco
• network intrusion detection system– analiza tráfico que coincida con una regla definida y
realiza una determinada acción especificada en la regla
Dr. Roberto GómezLámina 14
Modo sniffer
• snort –v– despliega los encabezados de los paquetes TCP/IP en
la pantalla
– solo despliega los encabezados de IP y TCP/UDP/ICMP nada más
• snort –vd– despliega tanto los datos como los encabezados
• snort –vde– lo mismo que antes, y además despliega los
encabezados de la capa de enlace
Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 8
Dr. Roberto GómezLámina 15
Modo packet logger
• Posible almacenar paquetes en el disco, para lo cual es necesario especificar un directorio
• Capturar paquetes relativos a la red 192.168.1.0 tipo C, todos los paquetes serán registrados en los subdirectorios del directorio log
• En redes alta velocidad, es posible almacenar paquetes en forma más compacta (modo binario: formato tcpdump)
snort –dev –l ./log
snort –dev –l ./log –h 192.168.1.0/24
snort –l ./log –b
Dr. Roberto GómezLámina 16
Leyendo lo almacenado
• Posible leer lo almacenado con un snifer que soporte fomato binario tcpdump– tcpdump o ethereal
• Se puede usar snort con la opción –r, que lo pone en modo playback
• Paquetes en formato tcpdump pueden ser procesados por snort
snort –dv –r packet.log
Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 9
Dr. Roberto GómezLámina 17
Modo NIDS
• Para habilitar el modo de detección de intrusos en red es necesario teclear:
– donde snort.conf es el archivo de las reglas
– si no se especifica directorio salida, se tomará como default /var/log/snort
• No se recomienda la opción –v
• En muchos casos no es necesario verificar los encabezados de enlace de datos
snort –dev –l ./log –h 192.168.1.0/24 –c snort.con f
snort –d –h 192.168.1.0/24 –l ./log -c snort.conf
Dr. Roberto GómezLámina 18
Elementos configuración snort
• Existen tres formas de indicarle a Snort como actuar– snort.conf configura variables, preprocesadores, salidas y
conjuntos de reglas activas– archivos.rules define las huellas (signatures) actuales– opciones a nivel línea de comandos, las cuales sobreescriben
las opciones en el archivo snort.conf
• Snort correrá con el archivosnort.conf por default– se aconseja configurarlo de acuerdo a la actividad de la red
monitoreada– de esta forma se puede ahorrar tiempo al examinar los
resultados
Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 10
Dr. Roberto GómezLámina 19
Ejemplo archivo snort.conf
# Step #1: Set the network variables:# var HOME_NET $eth0_ADDRESSvar EXTERNAL_NET $HOME_NET
# Step #2: Configure preprocessorspreprocessor frag2preprocessor bo
# Step #3: Configure output plugins## output log_tcpdump: snort.log# output trap_snmp: alert, 7, trap -v 2c -p 162 myTrapListener myCommunity
# Step #4: Customize your rule setinclude $RULE_PATH/finger.rulesinclude $RULE_PATH/ftp.rulesinclude $RULE_PATH/telnet.rulesinclude $RULE_PATH/smtp.rulesinclude $RULE_PATH/rpc.rulesinclude $RULE_PATH/rservices.rulesinclude $RULE_PATH/dos.rulesinclude $RULE_PATH/ddos.rulesinclude $RULE_PATH/dns.rulesinclude $RULE_PATH/tftp.rules
Dr. Roberto GómezLámina 20
Comentarios snort.conf
• La indica a snort:– cual es la red local
– que herramientas usar para preprocesar paquetes• paquetes fragmentados/defragmentados
– que herramientas usar para formatear las bitácoras de salida• por ejemplo: habilitar XML
• Mayoría opciones: dejar la opción por default y solo ajustar la dirección red local, por ejemplo:
var HOME_NET [192.168.1.0/24,10.120.0.0/16]
Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 11
Dr. Roberto GómezLámina 21
Diseño reglas en snort
Archivos y sintaxis
Dr. Roberto GómezLámina 22
Archivos de reglas
• bad-traffic.rules exploit.rules scan.rules• finger.rules ftp.rules telnet.rules• smtp.rules rpc.rules rservices.rules• dos.rules ddos.rules dns.rules• web-coldfusion.rules web-cgi.rules tftp.rules• web-frontpage.rules web-iis.rules web-misc.rules• web-attacks.rules sql.rules x11.rules• icmp.rules netbios.rules misc.rules• backdoor.rules shellcode.rules policy.rules• porn.rules info.rules icmp-info.rules• attack-responses.rules local.rules virus.rules
Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 12
Dr. Roberto GómezLámina 23
Ejemplo archivo .rules
alert icmp $EXTERNAL_NET any -> $HOME_NET any (msg:"ICMP ISS Pinger"; content:"|495353504e475251|";itype:8;depth:32; reference:arachnids,158; classtype:attempted-recon; sid:465; rev:1;)
alert icmp $EXTERNAL_NET any -> $HOME_NET any (msg:"ICMP L3retriever Ping"; content: "ABCDEFGHIJKLMNOPQRSTUVWABCDEFGHI"; itype: 8; icode: 0; depth: 32; reference:arachnids,311; classtype:attempted-recon; sid:466; rev:1;)
alert icmp $EXTERNAL_NET any -> $HOME_NET any (msg:"ICMP Nemesis v1.1 Echo"; dsize: 20; itype: 8; icmp_id: 0; icmp_seq: 0; content: "|0000000000000000000000000000000000000000|"; reference:arachnids,449; classtype:attempted-recon; sid:467; rev:1;)
alert icmp $EXTERNAL_NET any -> $HOME_NET any (msg:"ICMP PING NMAP"; dsize: 0; itype: 8; reference:arachnids,162; classtype:attempted-recon; sid:469; rev:1;)
alert icmp $EXTERNAL_NET any -> $HOME_NET any (msg:"ICMP icmpenum v1.1.1"; id: 666; dsize: 0; itype: 8; icmp_id: 666 ; icmp_seq: 0; reference:arachnids,450; classtype:attempted-recon; sid:471; rev:1;)
Dr. Roberto GómezLámina 24
Comentarios reglas
• Si un paquete coincide con el criterio especificado por una regla– Snort lo almacena en un archivo de bitácora
• Si un paquete no coincide con ninguna regla– Snort no hace nada– no es necesario preocuparse por el tráfico que snort no esta
configurado para reconocer
• Posible aumentar las capacidades de snort– incorporar reglas nuevas de los diferentes sitios que
proporcionan una regla– posible crear sus propias reglas
Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 13
Dr. Roberto GómezLámina 25
Reglas de snort
• Flexibles y fáciles de modificar.• Un ejemplo de regla:
• Elementos antes paréntesis comprenden el encabezado de la regla.
• Elementos dentro paréntesis son las opciones de la regla– palabras antes : son keywords– esta sección no es forzosa para todas las reglas
alert tcp any any -> 192.168.1.0/24 111 ( content:"|00 01 86 a5|”;
msg “mountd access”; )
Dr. Roberto GómezLámina 26
Encabezados de las reglas
• Contiene información que define – el quien, donde y que de un paquete– la acción a tomar si un paquete cumple con la regla
• Formato:
• El primer elemento en una regla es la acción de la regla.
• Se tienen definidas acciones por default
accion protocolo IP puerto -> IP puerto
Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 14
Dr. Roberto GómezLámina 27
Acciones por default
• alert– genera una alerta usando el método de alerta seleccionado y envía a
una bitácora el paquete
• log– envía a una bitácora el paquete
• pass– ignora el paquete
• activate– alerta y activa otro regla dinámica
• dynamic– permanecer inactiva hasta activarse por otra regla, entonces actuar
como una regla de tipo log
accion protocolo IP puerto -> IP puerto
Dr. Roberto GómezLámina 28
Protocolos
• Existen cuatro protocolos que snort analiza buscando un comportamiento sospechoso
• Los protocolos actuales son: – TCP
– UDP
– ICMP
– IP
• Se piensa incluir en un futuro– ARP,IGRP, GRE. OSPF, RIP, IPX
accion protocolo IP puerto -> IP puerto
Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 15
Dr. Roberto GómezLámina 29
Las direcciones IP
• Información dirección IP entrada y salida• Palabra any puede definir cualquier dirección• Operador negación !
– cualquier dirección excepto la especificada
• Lista de direcciones [ IP1, IP2, ... IP3 ]• Formadas por dirección numérica IP y bloque CIDR
– bloque CIDR indica el netmask que debe aplicarse a las direcciones de las reglas
– cada paquete que entra es probado contra la regla– /24: red clase C, /16 red clase B, /32 dirección específica
accion protocolo IP puerto -> IP puerto
Dr. Roberto GómezLámina 30
Ejemplos direcciones
• Ejemplo dirección con bloque CIDR
– bloque direcciones 192.168.1.0 a 192.168.1.255
• Ejemplo negación
• Ejemplo rango direcciones:
alert tcp !192.168.1.0/24 any -> 192.168.1.0/24 111 \( content: “|00 01 86 a5|”; msg:”peligro”; )
192.168.1.0/24
alert tcp ![ 192.168.1.0/24, 10.1.1.0/24] any -> [ 192.168.1.0/24, 10.1.1.0/24] 111 \
( content: “|00 01 86 a5|”; msg:”peligro”; )
Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 16
Dr. Roberto GómezLámina 31
Numeros de puerto
• Especificación del puerto de entrada y de salida.• Pueden especificarse de varias formas
– any, puertos estáticos, rangos y negación
• Keyboardany: cualquier número de puerto• Puertos estáticos: un solo número de puerto, (21
para ftp, 80 para http, 23 para telnet)• Rangos puertos: operador :• Negación puerto: operador !
accion protocolo IP puerto -> IP puerto
Dr. Roberto GómezLámina 32
Ejemplos números de puerto
• tráfico proveniente de cualquier puerto y cuyo puerto destino varía entre 1 y 1024
• tráfico proveniente de cualquier puerto dirigido a puertos menores o iguales a 6000
• tráfico proveniente de puertos privilegiados menores o iguales a 1024 dirigido a puertos mayores o iguales a 500
log udp any any -> 192.168.1.0/24 1:1024
log udp any any -> 192.168.1.0/24 :6000
log udp any :1024 -> 192.168.1.0/24 500:
Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 17
Dr. Roberto GómezLámina 33
El operador de dirección
• Indica la orientación o dirección del tráfico de la regla que se esta aplicando.
• Las direcciones y puertos del lado izquierdo corresponden a tráfico proveniente del host origen y del lazo derecho al host destino
• Existe un operador bidireccional <>– considerar los pares dirección/puerto tanto en una
orientación destino como origen– usado para analizar una conversación de los dos lados
(telnet, ftp, pop3)– ejemplo
accion protocolo IP puerto -> IP puerto
log !192.168.1.0/24 any <> 192.168.1.0/24 23
Dr. Roberto GómezLámina 34
Opciones de las reglas
• Forman el corazón de la máquina de detección de intrusión.
• Todas las opciones están separadas por el caracter ;
• Las keywords de las opciones están separadas por el carácter :
• Cuenta con 35 keywords
Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 18
Dr. Roberto GómezLámina 35
Los keywords de las opciones
• msg• logto• ttl• tos• id• ipoption• fragbits• dsize• flags• seq• ack
• itype• icode• icmp_id• icmp_seq• content• content-list
offset• depth• nocase• session• rpc• resp
• react• reference• sid• rev• classtype• priority• uricontent• tag• ip_proto• sameip• stateless• regex
Dr. Roberto GómezLámina 36
Significado algunos keywords
verifica en el campo TCP por un valor específicoseq,ack
busca por un patrón dentro del payloadcontent
verifica de la dirección fuente es igual a la destinosameip
identificador de severidad de la reglapriority
prueba rpc
prueba los valores de las banderas TCP flags
prueba los campos encabezado IP por un valor en específico
ttl, tos, id
envía paquete a archivo usuario en lugar archivo usuallogto
imprime un mensaje en las alertas y bitácorasmsg
SignificadoKeyword
Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 19
Dr. Roberto GómezLámina 37
Aclaraciones sobre algunos keywords
• msg– indican a la maquina de alerta y bitacoras el mensaje
a imprimir con el paquete
– caracater “ \ ” para indicar carácter que pueda conincidir con las reglas de snort
– formato: msg: “<texto mensaje>”
– ejemplo:
alert tcp any any -> any 21( msg: “ataque sobre servidor ftp”)
Dr. Roberto GómezLámina 38
Referencias y clasificación ataques
• reference– referencias para sistemas externos de identificación de ataques
• sid– identificación única de reglas de snort
• rev– identificación de forma única de revisiones
• classtype– clasifica alertas para formar clases de ataques
• priority– asigna niveles de severidad a las reglas
alert tcp any any -> any 80 (msg:“Intento ataque a servicio HTTP”; reference:arachnids,IDS411; classtype:attempted-admin; priority:10,; sid:1000983; rev:1);
Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 20
Dr. Roberto GómezLámina 39
El keywordcontent
• content– definición reglas buscan por contenido específico en el
payload del paquete– posible buscar por texto y datos binarios
• texto binario: encerrado entre caracteres pipe | y representados en código hexadecimal
– varias reglas de contenido puede ser especificadas en una sola regla
– carácter “!” especificar que no se busca por dicho contenido– formato: content: [!] "<content string>";
– ejemplos: • alert tcp any any -> any 139 (content:"|5c 00|P|00|I|00|P|00|E|00 5c|";)• alert tcp any any -> any 80 (content:!"GET";)
Dr. Roberto GómezLámina 40
Parámetros de búsqueda de contenido
• nocase– ignorar mayúsculas– formato: nocas– ejemplo:
alert tcp any any -> any 21 (msg:"FTP ROOT"; content:"USER root"; nocase;)
• rawbytes– verificar datos paquetes raw, ignorando la decodificación
hecha por los preprocesadores– formato: rawbytes– ejemplo:
• alert tcp any any -> any 21 (msg: "Telnet NOP"; content: "|FF F1|"; rawbytes;)
Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 21
Dr. Roberto GómezLámina 41
Definiendo profundidad de búsqueda
• depth– especifica cuanto dentro del paquete debe ir a buscar el patrón
especificado• valor de 5 implica que busque los primeros 5 bytesdel payload
– formato: depth: <number>;
• offset– especifica donde empezar a buscar dentro de un paquete
• valor de 5 implica paquete busca después de 5 bytes dentro del paquete
– formato: offset: <number>;
– ejemplo:• alert tcp any any -> any 80 (content: "cgi-bin/phf"; offset:4; depth:20;)
Dr. Roberto GómezLámina 42
Hasta donde buscar
• distance– especifica cuanto debe ignorar el paquete antes de empezar a buscar por el
patrón especificado• distancia relativa al match previo
– formatodistance: <byte count>;
– ejemplo:alert tcp any any -> any any (content:"ABC"; content: "DEF"; distance:1;)
• within– asegurarse que al menos N bytes se encuentran entre “pattern matches”
usando content• a usar en combinación con distance
– formato: within: <byte count>;
– ejemploalert tcp any any -> any any (content:"ABC"; content: "EFG"; within:10;)
Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 22
Dr. Roberto GómezLámina 43
Ejemplo opciones reglas
alert tcp any any -> 192.168.1.0/24 any( flags: A; ack: 0; msg: “Escaneo ping con NMAP”; reference: arachnids,28;
classtype: attempetd-recon; sid:628; rev:1;) )
•flags:A Establece el contenido de los flags o banderas TCP, en este caso ACK
• ack:0 Caso particular para valor ACK=0, es el valor que pone nmap para TCP ping scan.
•reference:arachnids,28 Referencia un a un Advisory, alerta tipo Bugtrac, etc.
•classtype:attempted-recon Categoría de la alerta según unos niveles predefinidos y prioridades
•sid:628 Identificación única para esta regla snort según unos tramos determinados.
•rev:1 Identificación de la revisión o versión de la regla.
Dr. Roberto GómezLámina 44
Ejemplos reglas snort
• Un ejemplo de content
• Un ejemplo de rpc
• Infección de CodeRed
alert tcp any any -> 192.168.1.9/24 143 ( content: “|90C8 C0FF FFFF|/bin/sh”; msg: “IMAP buffer overflow”);
alert tcp any any -> 192.168.1.0/24 111( rpc: 100000,*,3; msg: “RPC getport (UDP)”;)
alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS 80( msg: "WEB-IIS cmd.exe access"; flags: A+; content: "cmd.exe";nocase; classtype: web-application-attack; sid: 1002; rev: 2; )
Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 23
Dr. Roberto GómezLámina 45
Más ejemplos de reglas
• Combinando varias opciones
• Un servidor de SQL Microsoft comprometido
alert tcp $EXTERNAL_NET any -> $SQL_SERVERS 1433 ( msg: "MS-SQL xp_cmdshell - program execution"; content: "x|00|p|00|_|00|c|00|m|00|d|00|s|00|h|00|e|00|l|00| l|00|"; nocase; flags: A+; classtype: attempted-user; sid: 687; rev: 3; )
alert tcp $EXTERNAL_NET 27374 -> $HOME_NET any ( msg: "BACKDOOR subseven 22"; flags: A+;
content: "|0d0a5b52504c5d3030320d0a|"; reference: arachnids,485; reference: url.www.hackfix.org/subseven/; sid: 103; classtype: misc-activity; rev: 4; )
Dr. Roberto GómezLámina 46
Las alertas
Formatos
Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 24
Dr. Roberto GómezLámina 47
Los formatos de las alertas
• Formato tcpdump
• Formato snort
11:53:49:869667 eth0 > 192.168.0.231.12242 > 192.16 8.1.10.www: s 6373380:6373380(0) win 8192<mss 1460, nop, nop, sackOK> (DF)
[**] IDS024 – RPC – portmap-request-ttdbserv [**]07/27 – 13:33:58.314512 10.0.0.69:896 -> 192.168.38. 15:111UDP TTL:64 TOS: 0x0 ID:33481 Len 64
[**] rwwwshell CGI access attempt [**]06/10 – 07:55:01.284025 62.0.183.93:1526 -> 208.23 7.191.52:80TCP TTL:64 TOS: 0x0 ID:4816 DF*****PA* Seq: 0xF3156AC9 Ack: 0x9B63081 Wi n: 0x7078
47 45 54 20 2F 63 67 69 2D 62 69 6E 2F 72 77 77 Get /cgi-su77 73 68 65 6C 6C 2E 70 6C 20 48 54 54 50 2F 31 bin/rww2E 30 0A 0A 02 00 00 00 wshell.pl
Dr. Roberto GómezLámina 48
Formato TCPdump
11:53:49:869667 eth0 > 192.168.0.231.12242 >
192.168.1.10.www: s 6373380:6373380(0) win 8192
<mss 1460, nop, nop, sackOK> (DF)
TiempoInterfaz Dirección y puerto origen
Dirección y puerto destino Flag SetNúmero de secuencia Bytes en
el paquete
Tamaño en la ventana
OPCIONESDon’t Fragment
mss: Maximum Segment Size
Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 25
Dr. Roberto GómezLámina 49
Formato Snort (1)
Len 64
[**] IDS024 – RPC – portmap-request-ttdbserv [**]
FUENTE
07/27 – 13:33:58.314512 10.0.0.69: 896 -> 192.168.38.15:111
Fechay tiempo
Nombre de la alerta
DESTINO
UDP TTL:64 TOS: 0x0 ID:33481
Dirección y puertoorigen
Dirección y puertodestinoorientación
tráfico
longitud
tipo protocolo
tipo de servicio
time tolive
identificador de sesión
Dr. Roberto GómezLámina 50
Formato Snort (2)
[**] rwwwshell CGI access attempt [**]
FUENTE
06/10 – 07:55:01.284025 62.0.183.93: 1526 -> 208.237.191.52:80
Fechay tiempo
Nombre de la alerta
DESTINOTCP TTL:64 TOS: 0x0 ID:4816 DF
time to live id sesiónprotocolo servicio
*****PA* Seq: 0xF3156AC9 Ack: 0x9B63081 Wi n: 0x7078
don’t fragment
banderas # de secuencia # acknowledgement tamaño ventana
47 45 54 20 2F 63 67 69 2D 62 69 6E 2F 72 77 77 Get /cgi-su77 73 68 65 6C 6C 2E 70 6C 20 48 54 54 50 2F 31 bin/rww2E 30 0A 0A 02 00 00 00 wshell.pl
HTTP/1.0 ..........
hex payloadFormato comprensible por el humano
Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 26
Dr. Roberto GómezLámina 51
Salidas de una sesion telnet
Salida TCPdump de una sesión telnet
Salida snort de una sesión telnet
Dr. Roberto GómezLámina 52
Software relacionado
Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 27
Dr. Roberto GómezLámina 53
Software relacionado con snort y producido por terceros
• SnortSnarf
• ACID
• Demarc
• Ethereal
• SQL
Dr. Roberto GómezLámina 54
Snort Snarf
• Producido por Silicon Defense
• Es un programa en Perl que toma archivos de alertas de Snort y produce reportes en formato HTML
• La salida esta dirigida a una inspección de diagnóstico
• Silicon Defense también proporciona sensores con soporte comercial
• Página: – http: www.silicondefense.com/software/snortsnarf/
Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 28
Dr. Roberto GómezLámina 55
Dr. Roberto GómezLámina 56
ACID
• Analysis Console for Intrusion Databases (ACID)• Máquina de análisis basada en PHP• Busqueda y procesamiento en un base de datos de
eventos de seguridad generados por diferentes IDSes, firewalls y herramientas de monitoreo de red.
• Generador de queries e interfaz de busqueda, visualizador de paquetes (decodificador), administrador de alertas, generador de gráficas y estadísticas
• Página:– http://acidlab.sourceforge.net/
Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 29
Dr. Roberto GómezLámina 57
Dr. Roberto GómezLámina 58
Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 30
Dr. Roberto GómezLámina 59
Demarc
• Consola de administración de NIDS• Integra Snort con el poder y conveniencia de una
interfaz centralizada para todos los sensores de red.• Monitorea todos los servidores/hosts para asegurarse
que servicios de red como correo y web permanezcanaccesibles todo el tiempo.
• Monitorea bitacoras de sistema en busca de entradasanormales que pueden indicar intrusos o malfuncionamiento del sistema
• Página– http://www.demarc.com
Dr. Roberto GómezLámina 60
Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 31
Dr. Roberto GómezLámina 61
Dr. Roberto GómezLámina 62
Ethereal
• No es un elemento de Snort
• Es uno de los mejores GUI, open source, paravisualizar paquetes
• Paquetes– http://www.ethereal.com
– Para windows: www.ethereal.com/distribution/win32/ethereal-setup-0.9.2.exe
– Para Unix: www.ethereal.com/download.html
– Red Hat Linux RPMs: ftp.ethereal.com/pub/ethereal/rpms/
Seguridad Informárica Snort
Dr. Roberto Gómez Cárdenas 32
Dr. Roberto GómezLámina 63
SQL
• Módulo para enviar salidas a una variedad de bases de datos SQL.
• Módulo desarrollado por Jed Pickel.
• Después es posible consultar la base de datos a través de queries– los resultados dependen de la base de datos
• El formato esdatabase: <log | alert>, <database type>, <parameter list>