Practica De Snort
Enviado por lixobasoira • 15 de Enero de 2014 • 1.909 Palabras (8 Páginas) • 442 Visitas
Práctica con Snort
Snort es una aplicación de detección de intrusos open source, que funciona a base de reglas aplicadas sobre los paquetes de red. Al momento en que un paquete cumple una regla, puede ser guardado en la bitácora del sistema y así ser analizado posteriormente.
Los hallazgos encontrados al realizar esta práctica fueron:
Evaluación del desempeño según el número de reglas configuradas.
Al modificar el archivo de configuración para comentar el uso de ciertas reglas, la memoria utilizada por el computador en el que snort estaba instalado disminuyó significativamente: 7 Mb con solo las reglas de bad-traffic y de scan en uso, contra 31 Mb usando las reglas default. El uso del procesador solo varió durante el instante siguiente a que se ejecutó snort, puesto que con todas las reglas ocupó 97% mientras que con el conjunto reducido de reglas solo usó 53%. Sin embargo, durante la ejecución de snort el procesador solamente usó de 1% a 4% en ambos casos.
Creación de reglas para detectar tráfico entre los chats encriptados.
Para crear una nueva regla de snort que detectara el tráfico de nuestro chat, registramos todos los paquetes que se comunicaran entre la máquina cliente y la máquina servidor por el puerto 5320, que es el puerto definido por nosotros para nuestro chat. La regla además imprimía un mensaje indicando que hay actividad de chat en progreso: alert tcp 10.48.144.90 5320 -> 10.48.147.86 5320 (msg: "chat activity in progress";) La alerta se podría haber mejorado más si el chat no fuese encriptado, pues el chat encriptado presenta mensajes inenteligibles debido precisamente a la encripción.
Creación de reglas en snort.
El formato de reglas de snort es: tipo_de_alerta protocolo ip_origen [puerto] -> ip_destino [puerto] ( opciones ). Si el protocolo es tcp, hay que especificar el puerto que se quiere analizar. Tanto los ip's como los puertos pueden ser la palabra clave any, que indica checar cualquier puerto o cualquier ip. Es posible checar rangos de puertos usando el operador : (dos puntos), por ejemplo 21 : 1023 significa checar todos los puertos entre el 21 y el 1023. Si usamos solo el número de puerto y los dos puntos le estamos diciendo a snort que verifique aquellos puertos por encima o por debajo del puerto especificado, por ejemplo :puerto se entiendo como "verificar todos los puertos menores a puerto", y puerto: se interpretaría como "verificar todos los puertos menores a puerto".
Las opciones de la regla es la parte más importante de la misma. Aquí podemos especificar por ejemplo el tamaño que debe cumplir cada paquete. Asímismo, podemos analizar los campos de bandera de los paquetes. Existen muchos tipos de opciones que se detallan en el manual de snort. Un ejemplo de uso de opción es msg: "chat..."; en la regla descrita en la parte del chat.
El formato para las opciones es tipo_de_opcion : parametros ;
Explicación de una regla creada por snort.
Decidimos explicar una regla de chat.rules, la cual identifica los paquetes generados por ICQ al momento de que un usuario inicia una sesión:
alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"CHAT ICQ access"; flow:to_server,established; content: "User-Agent\:ICQ"; classtype:misc-activity; sid:541; rev:6;)
Significa alertar cuando por tcp se produzca tráfico desde la red identificada por la variable HOME_NET (por cualquier puerto) hacia la red EXTERNAL_NET (por cualquier puerto), siempre y cuando el contenido del paquete contenga a la cadena "User-Agent\:ICQ". flow: to_server y established indica que el flujo debe ser hacia el servidor, y ya debe estar establecida una conexión entre cliente y servidor. La categoría de error classtype es misc-activity. sid es el id de la regla de snort, el número de 541 la ubica dentro del rango de las reglas incluidas con la distribución de snort, pues este rango es de 100 a 1,000,000. rev indica el número de revisión de la regla. Cuando la regla se dispara, se guardará el mensaje msg:"CHAT ICQ access", gracias a la primera expresión dada dentro de las opciones de la regla.
HOME_NET y EXTERNAL_NET son dos variables cuyos valores que representan a la red interna y la red externa.
Monitoreo de la red del campus y explicación de 5 alertas generadas.
Usando snort en la red del campus por 5 minutos nos encontramos con las siguientes alertas:
1)
[**] [1:528:4] BAD-TRAFFIC loopback traffic [**]
[Classification: Potentially Bad Traffic] [Priority: 2]
10/27-13:34:18.565079 0:C:86:2D:A:BC -> 8:0:46:A7:5A:68 type:0x800 len:0x3C
127.0.0.1:80 -> 10.48.147.197:1180 TCP TTL:127 TOS:0x0 ID:7666 IpLen:20 DgmLen:40
***A*R** Seq: 0x0 Ack: 0x40EC0001 Win: 0x0 TcpLen: 20
[Xref => http://rr.sans.org/firewall/egress.php]
Este tipo de alerta surge generalmente porque se ha comprometido una máquina.
Esto se puede clasificar como una tentativa del DOS usando un paquete malformado contra los hosts que procesan IGMP. Es una tentativa amplia de la red
2)
[**] [1:1917:4] SCAN UPnP service discover attempt [**]
[Classification: Detection of a Network Scan] [Priority: 3]
10/27-13:36:52.310940 0:B:CD:E9:CC:83 -> 1:0:5E:7F:FF:FA type:0x800 len:0xAF
10.48.149.228:1028 -> 239.255.255.250:1900 UDP TTL:1 TOS:0x0 ID:11 IpLen:20 DgmLen:161
Len: 133
Lo que quiere decir UPNP es Universal plug and play feature, el cual trata de descubrir nuevo hardware en la LAN. Esto está relacionado con el sistema operativo Windows XP.
3)
[**] [1:483:2] ICMP PING CyberKit 2.2 Windows [**]
[Classification: Misc activity] [Priority: 3]
10/27-13:39:38.690820 0:C:86:2D:A:BC -> 0:C0:9F:B:D1:2 type:0x800 len:0x6A
10.48.140.247 -> 10.48.144.7 ICMP TTL:127 TOS:0x0 ID:16587 IpLen:20 DgmLen:92
Type:8 Code:0 ID:512 Seq:5541 ECHO
[Xref => http://www.whitehats.com/info/IDS154]
Este evento indica que una petición de ping fue enviada a nuestra red. Las peticiones del ping se utilizan para determinar si un host es responsivo, pero pueden ser mal empleadas para trazar nuestra red. El software de CyberKit 2.2 que corre en un sistema Windows, generó probablemente este ping particular.
4)
[**] [1:1411:3] SNMP public access udp [**]
[Classification: Attempted Information Leak] [Priority: 2]
10/27-14:03:08.349659 0:C:86:2F:7D:BC -> 0:4:0:D4:E6:53 type:0x800 len:0xBD
10.48.166.121:3825 -> 10.48.151.238:161 UDP
...