Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Snort
telnet
TCP
IP header
Ethernet
network
packet
Flujo de Datos en Snort
SNORT
Sniffing Packet Decoder
Packet Stream
Pre-Processor
Data Flow
<Plug-Ins>
Detection Engine
<Plug-Ins>
Post-Processor
& Output Stage
<Plug-Ins> Alerts/Logs
Plugins
Prepocesador
El tráfico es analizado o manipulado antes
de ser pasado al motor de detección
Detección
Realiza pruebas sencillas en partes
específicas de los paquetes
Salida
Reporta los resultados de otros plugins
Motor de Detección
Las reglas crean patrones o signatures
Elementos modulares de detección se
combinan para formar estos patrones
Es posible la detección de actividad anómala;
stealth scans, OS fingerprinting, buffer
overflows, back doors, vulnerabilidades en
cgis, códigos ICMP inválidos, entre otros
El sistema de reglas es muy flexible y la
creación de nuevas reglas es sencilla
Motor de Detección (2)
Puede generar; Alert, Log o Pass sobre
dirección/puerto origen/destino para IP,
UPD e ICMP, anomalías estadísticas o
verificaciones sobre protocolos
A menos que se tengan necesidades
muy específicas no es necesario escribir
nuevas reglas; actualmente hay mas de
2000 disponibles en línea
Reglas
alert tcp !10.1.1.0/24 any -> 10.1.1.0/24 any (flags: SF; msg: “SYN-FIN Scan”;)
Cabecera
alert tcp !10.1.1.0/24 any -> 10.1.1.0/24
any
Opciones
(flags: SF; msg: “SYN-FIN Scan”;)
Posibilidades de Especificación
de las Opciones
IP TTL • Content
IP ID • Content offset
Fragment size • Content depth
TCP Flags • Session recording
TCP Ack number • ICMP type
TCP Seq number • ICMP code
Payload size • Alternate log files
Ejemplos de Reglas ***
Regla para detectar el troyano
SubSeven:
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;)
Reglas para atrapar intrusos
***
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;)
caught compromise of Microsoft SQL Server
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;) caught Code
Red infection
Reglas para atrapar intrusos
(2)***
alert tcp $EXTERNAL_NET any -> $HOME_NET 21
(msg:"INFO FTP \"MKD / \" possible warez site";
flags: A+; content:"MKD / "; nocase; depth: 6;
classtype:misc-activity; sid:554; rev:3;) caught
anonymous ftp server
alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS 80
(msg:"WEB-IIS multiple decode attempt";
flags:A+; uricontent:"%5c"; uricontent:"..";
reference:cve,CAN-2001-0333; classtype:web-
application-attack; sid:970; rev:2;) caught
NIMDA infection
Reglas para atrapar intrusos
(3)***
alert tcp $HOME_NET 23 -> $EXTERNAL_NET
any (msg:"TELNET Bad Login"; content:
"Login incorrect"; nocase; flags:A+;
classtype:bad-unknown; sid:1251;
rev:2;) caught telnet username brute-force
Reglas preexistentes
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
tftp.rules web-cgi.rules web-coldfusion.rules
x11.rules web-iis.rules web-misc.rules
web-attacks.rules sql.rules web-frontpage.rules
icmp.rules netbios.rules shellcode.rules
backdoor.rules misc.rules policy.rules
porn.rules info.rules icmp-info.rules
virus.rules local.rules attack-responses.rules
Bitacora de Snort
Contenido de /var/log/snort/alert
[**] [1:469:1] ICMP PING NMAP [**][Classification:
Attempted Information Leak] [Priority: 2]03/28-
09:48:40.739935 192.168.1.2 -> 192.168.1.3ICMP
TTL:46 TOS:0x0 ID:61443 IpLen:20 DgmLen:28Type:8
Code:0 ID:10629 Seq:0 ECHO[Xref =>
http://www.whitehats.com/info/IDS162]
Filter file
tcpdump
process
To Log File
Implementación (2)
Cron
Report
Generator
Packet Stream
SNORT
Sniffing
Rules file
To Alert File
Alert
File
Implementación (3)
Cron
Report
Generator
Packet Stream
SNORT
Sniffing
Rules file
To Alert File
Alert
File
Implementación
Cron (4) Logging
Interval Daily
Short-Term Long-Term
Logging
Driver Interval + Driver
Filters 46 minutes Filters
Short-Term
Packet Stream
Packet Stream
Cleanup
Packet Packet
Logs Logs
ssh hash
Log Collection
and delete scp
and Processing transfer
Detailed Daily
Alerts STD
Analysis Analysis
& Logs OUT
Filters Daily Filters
Rules Rules
1 Min. After Daily
Log Finish Cron
Salida de Snort
A bases de datos
XML
Formato binario de Tcpdump
Formato unificado de Snort
Ascii
syslog
Winpopup
Más dependiendo de herramientas de
terceros; buscapersonas, teléfonos móviles,
acciones automáticas...
Otros usos de Snort
Imposición y chequeo de políticas
Monitor de Honeypot
Honeypots son “deception systems” que permiten
análizar el comportamiento de intrusos en el
sistema ***
Trampas y detección de mapeos de puertos
Análisis de tráfico en tiempo real
Detección de nuevos eventos a través de la
escritura de reglas; SQL/ODBC, ActiveX,
Java/JavaScript, Virus de macros, cadenas de
HTTP...
Herramientas de Terceros
SnortSnarf
http://www.silicondefense.com/software/snor
tsnarf/
AcidLab http://acidlab.sourceforge.net/
Demark http://www.demarc.com/
Guardian http://www.chaotic.org/guardian/
snort-panel http://www.xato.net/files.htm