Sunteți pe pagina 1din 28

Deteccin de Intrusos Usando Snort

Ing Rodmy Riveros

Que se puede lograr con IDS


Un mayor grado de seguridad al resto de la infraestructura de seguridad Hacer uso de informacin muchas veces ignorada, para ver que est pasando en realidad Apoyar el rastreo de actividades intrusas desde el punto de entrada al de salida o impacto Reconocer alteraciones en sistemas de archivos

Que se puede lograr con IDS (2)


Reconocer ataques en tiempo real Automatizar la bsqueda de trazas de ataques en Internet

Que no se puede lograr con IDS


No son infalibles No compensan una mala administracin No investigan ataques sin intervencin humana No intuyen ni siguen las polticas de seguridad organizacional No compensan debilidades en protocolos de red No compensan los problemas debidos a la calidad o integridad de la informacin

Que no se puede lograr con IDS (2)

No analizan adecuadamente el trfico en una red de alto trfico No pueden solucionar problemas debidos a ataques a nivel de paquetes Se quedan cortos ante caractersticas de redes modernas Se ven bastante limitados ante trfico cifrado

Snort

Es un NIDS liviano, libre, fcilmente configurable y ejecutable en diversas plataformas Ampliamente considerado tcnicamente superior a la mayora de NIDS comerciales Adems de NIDS puede actuar como un simple sniffer o bitacora de paquetes con especificaciones avanzadas No bloquea intrusos, asume que alguien est monitoreando el servicio

Diseo de Snort

Utiliza libpcap o WinPcap como fuente de trfico El sistema est basado en plugins que permiten una flexibilidad prcticamente ilimitada, activando mdulos que vienen con la distribucin o creando nuevos Utiliza un motor de deteccin basado en reglas

El Decodificador de Paquetes
telnet

TCP

IP header

Ethernet network

packet

Flujo de Datos en Snort


SNORT
Sniffing Packet Decoder Pre-Processor <Plug-Ins> Detection Engine <Plug-Ins> Data Flow Packet Stream

Post-Processor & Output Stage <Plug-Ins> Alerts/Logs

Plugins

Prepocesador

El trfico es analizado o manipulado antes de ser pasado al motor de deteccin Realiza pruebas sencillas en partes especficas de los paquetes

Deteccin

Salida

Reporta los resultados de otros plugins

Motor de Deteccin

Las reglas crean patrones o signatures Elementos modulares de deteccin se combinan para formar estos patrones Es posible la deteccin de actividad anmala; stealth scans, OS fingerprinting, buffer overflows, back doors, vulnerabilidades en cgis, cdigos ICMP invlidos, entre otros El sistema de reglas es muy flexible y la creacin de nuevas reglas es sencilla

Motor de Deteccin (2)

Puede generar; Alert, Log o Pass sobre direccin/puerto origen/destino para IP, UPD e ICMP, anomalas estadsticas o verificaciones sobre protocolos A menos que se tengan necesidades muy especficas no es necesario escribir nuevas reglas; actualmente hay mas de 2000 disponibles en lnea

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


(flags: SF; msg: SYN-FIN Scan;)

Opciones

Posibilidades de Especificacin de las Opciones


IP TTL IP ID Fragment size TCP Flags TCP Ack number TCP Seq number Payload size

Content Content offset Content depth Session recording ICMP type ICMP code 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:webapplication-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:webapplication-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/2809: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] [**] [1:469:1] spp_portscan: PORTSCAN DETECTED from 192.168.1.2 (THRESHOLD 4 connections exceeded in 0 seconds) [**]03/28-09:48:41.052635

[**] [100:2:1] spp_portscan: portscan status from 192.168.1.2: 183 connections across 1 hosts: TCP(183), UDP(0) [**]03/2809:48:45.007501

Implementacin
tcpdump
Sniffing Filter file Packet Stream

tcpdump process
To Log File

Implementacin (2)
Cron

Report Generator
Packet Stream

SNORT
Sniffing

Rules file
To Alert File

Alert File

Implementacin (3)
Cron

Report Generator
Packet Stream

SNORT
Sniffing

Rules file
To Alert File

Alert File

Implementacin Cron (4)


Logging Interval Daily Logging Interval + 46 minutes

Short-Term Driver
Filters Packet Stream Short-Term Cleanup

Long-Term Driver Filters Packet Stream

Packet Logs Log Collection and Processing Detailed Analysis Filters Rules
1 Min. After Log Finish

Packet Logs
ssh hash and delete scp transfer

Alerts & Logs


Daily

STD OUT

Daily Analysis Filters Rules

Cron

Daily

Salida de Snort

A bases de datos XML Formato binario de Tcpdump Formato unificado de Snort Ascii syslog Winpopup Ms dependiendo de herramientas de terceros; buscapersonas, telfonos mviles, acciones automticas...

Otros usos de Snort


Imposicin y chequeo de polticas Monitor de Honeypot

Honeypots son deception systems que permiten anlizar el comportamiento de intrusos en el sistema ***

Trampas y deteccin de mapeos de puertos Anlisis de trfico en tiempo real Deteccin de nuevos eventos a travs 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