¿Son correctas mis reglas de Snort?

1

Estoy intentando hacer una demostración de Snort y creo que sería bueno detectar una amenaza real. Escogí el gusano sasser y los ataques de jolt / teardrop dos para la demostración; ninguna razón en particular. De los tres solo uno, el ataque de lágrima, se detecta.

He probado snort con "reglas de prueba" (alertar a cada paquete TCP, buscar una cadena en la carga útil, ...) y parece que funcionan perfectamente. Revisé la salida de Snort y no hay advertencias ni errores para los archivos que contienen las reglas para sasser / jolt.

No tengo mucha experiencia escribiendo reglas de Snort, así que las elegí de sitios de seguridad reconocidos y github.

El gusano sasser genera el tráfico de Sasser, que encontré en línea y compilé. El tráfico de sacudidas y lágrimas se genera con la herramienta targa2.

Revisé el tráfico con tcpdump y parece estar bien. Sasser genera tráfico dirigido al puerto de actualización de Windows y tanto jolt como lágrima generan paquetes ICMP.

Habiendo probado todo lo anterior, supongo que el problema son mis reglas de Snort. He estado buscando Google de forma inte- tiva, pero no encontré nada nuevo, así que sería bueno si alguien pudiera comprobar si estas reglas hacen lo que pretendía.

Aquí están mis reglas de sasser:

alert tcp $EXTERNAL_NET any -> $HOME_NET 445 (msg:"NETBIOS SMB-DS DCERPC LSASS DsRolerUpgradeDownlevelServer exploit attempt" ; flow:to_server,established; flowbits:isset,netbios.lsass.bind.attempt; content:"|FF|SMB"; depth:4; offset:4; nocase:; content:"|05|"; distance:59; content:"|00|"; within:1; distance:1; content:"|09 00|"; within:2; distance:19; reference:cve,CAN-2003-0533; reference:url,www.microsoft.com/technet/security/bulletin/MS04-011.mspx; classtype:attempted-admin; sid:2514; rev:5;)

alert tcp $EXTERNAL_NET any -> $HOME_NET 445 ( sid: 1000041; rev: 1; msg: "LSLass MS-0411 exploit"; flow: established,to_server; content:"|eb10 5a4a 33c9 66b9 7d01 8034 0a99 e2fa eb05 e8eb ffff|"; reference:url,www.secuser.com/alertes/2004/sasser.htm; classtype: shellcode-detect;)

alert tcp $HOME_NET any -> $EXTERNAL_NET 9996 ( sid: 1000042; rev: 3; msg:"Sasser ftp script to transfer up.exe"; content:"|5F75702E657865|"; depth:250; flags:A+; reference:url,www.secuser.com/alertes/2004/sasser.htm; classtype: misc-activity;)

alert tcp $EXTERNAL_NET any -> $HOME_NET 5554 ( sid: 1000043; rev: 1; msg:"Sasser binary transfer get up.exe"; content:"|5F75702E657865|"; depth:250; flags:A+; reference:url,www.secuser.com/alertes/2004/sasser.htm; classtype: misc-activity;)

Aquí mi regla Jolt:

alert ip $EXTERNAL_NET any -> $HOME_NET any (msg:"DOS Jolt attack"; dsize:408; fragbits:M; reference:cve,1999-0345; classtype:attempted-dos; sid:268; rev:4;)

Y, finalmente, la regla Teardrop, la única que funciona:

alert udp $EXTERNAL_NET any -> $HOME_NET any (msg:"DOS Teardrop attack"; fragbits:M; id:242; reference:bugtraq,124; reference:cve,1999-0015; reference:nessus,10279; reference:url,www.cert.org/advisories/CA-1997-28.html; classtype:attempted-dos; sid:270; rev:6;)

Gracias de antemano.

    
pregunta Fernando Domínguez 16.05.2014 - 22:37
fuente

1 respuesta

1

No veo nada obviamente malo con las reglas.

¿Capturaste tu pcaps en el sistema atacante o en el objetivo? Si es así, las sumas de comprobación pueden ser incorrectas. Como prueba rápida, ejecute snort con el indicador "-k none" para ignorar las sumas de comprobación, pero la forma correcta de hacerlo sería usar tcprewrite para corregir las sumas de comprobación de TCP (o alguna otra utilidad para alcanzar el mismo objetivo).

Gracias,

~ Patrick

    
respondido por el phoo 13.06.2014 - 03:05
fuente

Lea otras preguntas en las etiquetas