whireshark

28
El ataque Man in the Middle (hombre en el medio), es una técnica de hacking cuya finalidad es situar al equipo atacante en medio del equipo víctima y el router. Esto es necesario puesto que en una red que funciona con un switch, los paquetes viajan directamente entre el equipo victima y el router, por lo tanto no basta con esnifar la red en modo promiscuo. La manera en que el equipo víctima identifica el router, y viceversa, es usando el protocolo ARP, esto es: verificando la dirección MAC e IP de la tarjeta de red el otro equipo (en la tabla ARP).Siendo así, la técnica más común para llevar a cabo un ataque Man-in-the-middle es el ARP Spoofing, en la que el equipo atacante envenena la tabla ARP tanto del equipo víctima (haciéndose pasar por el router) como del router (haciéndose pasar como el equipo víctima), y por lo cual todos los paquetes que envíe o reciba dicho la víctima circularán a través de nuestra red. No está demás aclarar que mientras tengamos bajo un ataque man inthe middle al PC víctima y al router, es necesario hacer un forwarding (reenvio) de paquetes. De lo contrario dejaríamos sin conexión a la víctima, lo cual es muy sospechoso. NG-0.7.3 RELEASED !!

Transcript of whireshark

Page 1: whireshark

El ataque Man in the Middle (hombre en el medio), es una técnica de hacking cuya finalidad es situar al equipo atacante en medio del equipo víctima y el router. Esto es necesario puesto que en una red que funciona con un switch, los paquetes viajan directamente entre el equipo victima y el router, por lo tanto no basta con esnifar la red en modo promiscuo.

La manera en que el equipo víctima identifica el router, y viceversa, es usando el protocolo ARP, esto es: verificando la dirección MAC e IP de la tarjeta de red el otro equipo (en la tabla ARP).Siendo así, la técnica más común para llevar a cabo un ataque Man-in-the-middle es el ARP Spoofing, en la que el equipo atacante envenena la tabla ARP tanto del equipo víctima (haciéndose pasar por el router) como del router (haciéndose pasar como el equipo víctima), y por lo cual todos los paquetes que envíe o reciba dicho la víctima circularán a través de nuestra red.

No está demás aclarar que mientras tengamos bajo un ataque man inthe middle al PC víctima y al router, es necesario hacer un forwarding (reenvio) de paquetes. De lo contrario dejaríamos sin conexión a la víctima, lo cual es muy sospechoso.

NG-0.7.3 RELEASED !!

Short Description:

Ettercap is a suite for man in the middle attacks on LAN. It features sniffing of live connections, content filtering on the fly and many other interesting tricks.It supports active and passive dissection of many protocols (even ciphered ones) and includes many feature for network and host analysis.

Interface: All this feature are integrated with a easy-to-use and pleasureful ncurses/gtk interfaces. (see screenshots)

Platform: Linux 2.0.xLinux

FreeBSD 4.x 5.xOpenBSD 2.[789] 3.x

Mac OS X (darwin 6.x 7.x)Windows 2000/XP/2003Solaris 2.x

Page 2: whireshark

2.2.xLinux 2.4.xLinux 2.6.x

NetBSD 1.5

Required Libraries:

libpcap >= 0.8.1libnet >= 1.1.2.1libpthreadzlib

Optional Libraries:

To enable plugins: libltdl (part of libtool)To have perl regexp in the filters: libpcreTo support SSH and SSL decryption: openssl 0.9.7For the cursed GUI: ncurses >= 5.3For the GTK+ GUI: pkgconfig >= 0.15.0 and:- Glib >= 2.4.x- Gtk+ >= 2.4.x- Atk >= 1.6.x- Pango >= 1.4.xIf you want SSH1 and/or HTTPS support, ettercap requires OpenSSL libraries

Installation: ettercap 0.6.x is deprecated; please upgrade to 0.7.x

Binaries are not officially provided or supported - you have to compile it yourself (which can be tricky under Windows) or find a third-party binary provider. The developers are unlikely to be swayed on this.

Before installation, please ensure you have the correct versions of the above listed libraries. For the best experience you should have them all. Out-of-date or missing libraries are the most common reason for failure.

You need to read the documentation in the tgz before and after running ./configure; make; make install.

The command-line switches and the etter.conf have changed from 0.6.x to 0.7. You should read and edit the etter.conf to suit.

For HTTPS support you need to uncomment the right 'redir' command in etter.conf.

In short, read the docs, read the man pages, read the FAQ, read the forums, and then ask questions. ;)

Running Ettercap:

You need to select a user interface (no default) using -T for Text only, -C for the Ncurses based GUI, or -G for the nice GTK2 interface (thanks

Page 3: whireshark

Daten...).

Informático de GuardiaVivencias de un informático metido a profesor

Blog Soporte técnico Ladrones de tiempo

« El fantástico mundo de la integración

Evitar spam usando correos temporales »

Ataque man-in-the-middle en Linux

Publicado 4 septiembre 2008 Linux , Seguridad 19 Comentarios Etiquetas: chat, email, Linux, man-in-the-middle, mitm, pirateria, sniffing, wireshark

Puede que a algunos el ataque Man in the middle (o MitM) no

les diga mucho pero es una de las herramientas básicas a la hora de conocer la información

que fluye a lo largo y ancho de nuestra red local (o intranet).

A grosso modo lo que pretendemos es hacernos pasar por el router de nuestra red (por el

que pasan todas las comunicaciones tanto externas como internas) y de este modo capturar

las conversaciones que nuestros hermanos, compañeros de trabajo (si el administrador de red

de la oficina es lo suficientemente malo como para no tomar las medidas oportunas) o el famoso

vecino que nos robó la wifi (al no saber las consecuencias que esto le traería) están

manteniendo.

Page 4: whireshark

Ya sabemos cómo obtener sus contraseñas, veamos ahora a qué dedican su tiempo libre y de

qué hablan

Aunque pueda parecer extremadamente complejo no lo es en absoluto (esa es la ventaja de

Internet: nos permite aprender a hacer cosas que antes ni habíamos soñado) bastando con

lanzar un par de comandos.

Software necesario

En principio sólo necesitamos:

dsniff nos permitirá dirigir a nuestra máquina los paquetes direccionados al router

fragrouter para habilitar el enrutado (ip forwarding)

Para instalarlos sólo debemos visitar Synaptic o lanzar desde la terminal

apt-get install dsniff fragrouter

Puesta en marcha

Lanzamos en una terminal

sudo arpspoof -i TARJETA_RED -t IP_VICTIMA IP_ROUTER

Donde

TARJETA_RED es la que utilizamos para conectarnos a la red (eth0, eth1, wlan0, …)

IP_VICTIMA la del equipo cuyas conversaciones queremos escuchar (puedes ver los equipos

conectados actualmente a la red siguiendo los pasos que explicamos en su momento para

detectar intrusos en la red)

IP_ROUTER puedes obtenerlo con un ifconfig en la terminal (recuerda que es la puerta de enlace)

En otra terminal lanza

fragrouter -B1

Page 5: whireshark

Capturar información de red

A partir de este momento todos los paquetes que envíe el equipo que estamos espiando

(IP_VICTIMA) pasarán por nuestro equipo.

Basta utilizar cualquiera de las herramientas de sniffing: Wireshark, Ettercap, … para capturarlos

y seleccionar aquellos que nos resulten de interés.

Esta receta se centra en cómo perpetrar el ataque en Linux, en próximas entregas, y en

función de la aceptación del mismo explicaremos, entre otros:

cómo capturar los correos electrónicos

sesiones de chat

páginas web visitadas

etc…

Espero que el artículo haya sido de interés para el “piratilla” que todos llevamos dentro. Como

colofón recordaros que la privacidad en las conversaciones es algo básico: ¡ojo con el uso que

dais a esta información!

Nuestro Blog

Forensic Challenge 2010 –

Segundo desafío forense (1 de

3) Lunes, 14 de Marzo de 2011 00:00 Texpaok

Usar puntuación:  / 2 afa9e940331f5d7

Page 6: whireshark

Malo Bueno 

Aquí os traigo el segundo desafío forense. En este caso, debemos analizar un

ataque de red desde una perspectiva diferente.

El archivo a analizar (suspicious-time.pcap) se encuentra en esta url:

http://honeynet.org/files/suspicious-time.pcap

Aquí van las preguntas:

1. Enumera los protocolos que podemos encontrar en la captura. ¿En qué

protocolo piensas que está basado el ataque?

Para responder a esta pregunta, la mejor opción es Wireshark. Abrimos la captura

y seleccionamos la opción "Statistics --> Protocol Hierarchy":

Captura 1

Puntuar vote com_content 823

http://protegetuor

Page 7: whireshark

Como vemos, existen un montón de protocolos en la captura: IP, UDP, ICMP,

TCP, DNS, HTTP... El análisis posterior indica que el ataque se ha basado en

HTTP.

2. Enumera las direcciones IP, nombres de hosts y dominios. ¿Qué puedes

extrapolar de ellos? ¿Qué se puede deducir de la configuración? ¿Parece

una situación real?

Aquí tenemos un trabajo largo por delante; tenemos que identificar bastante

información. Para faciliar el entendimiento, voy a poner la información en tablas:

Los buenos:

IP(s) Nombre Función

10.0.2.15 8fd12edd2dc1462 Cliente #1

10.0.3.15 8fd12edd2dc1462 Cliente #2

10.0.4.15 8fd12edd2dc1462 Cliente #3

10.0.5.15 8fd12edd2dc1462 Cliente #4

10.0.2.2

10.0.3.2

10.0.4.2

10.0.5.2

????????

Servidor DHCP

192.168.1.1 ???????? Servidor DNS

Los malos:

IP(s) Nombre Función

192.168.56.50 rapidshare.com.eyu32.r

u

Sitio #1

Page 8: whireshark

192.168.56.51 shop.honeynet.sg Sitio #2

192.168.56.52 sploitme.com.cn Sitio de

distribución de

Malware

64.236.114.1 www.honeynet.org Ni idea 

Otros:

IP(s) Nombre Función

74.125.77.101

74.125.77.102

www.google-

analytics.com

209.85.227.99

209.85.227.100

209.85.227.106

www.google.com

www.google.fr

clients1.google.fr

Un ejemplo de cómo se ha extraido esta información:

Captura 2

Captura 3

Page 9: whireshark

De los datos obtenidos podemos extraer las siguientes conclusiones:

ESCRIBIR COMENTARIO (1 COMENTARIOS)

LEER MÁS...

¿Has visitado la web de GeoHot

para piratear tu PS3? Entonces

Sony tiene tu IP Lunes, 07 de Marzo de 2011 15:00 Texpaok

Usar puntuación:  / 7

Malo Bueno 

Los que sigan las scene de PS3 sabrán que, desde hace unos

meses, existen dispositivos capaces de saltar las protecciones establecidas

por Sony en su última consola. George Hotz (conocido como GeoHot) es uno de

los más conocidos, y publicó un sistema de desbloqueo ( jailbreak) para la PS3

que ha circulado ampliamente por Internet.

Sony le demandó y ha obtenido diversas "victorias". La última, una autorización de

afa9e940331f5d7

Puntuar vote com_content 873

http://protegetuor

Page 10: whireshark

un juez de San Francisco para acceder a las direcciones IP de todos los que

hayan accedido a su web durante los últimos 26 meses... Además, Sony

también podrá conocer las cuentas que accedieron al vídeo privado de Youtube

que mostraba cómo hacer el jailbreak de la PS3, a los tweets escritos o publicados

por Hotz y a la información de su cuenta en la web PSX-Scene.

Sony alega que necesita la información para "identificar a aquellos que han

accedido a los dispositivos para evitar las medidas de protección de la PS3" y que

pretende "descubrir información sobre las personas que tienen acceso a un vídeo

privado subido por el Sr. Hotz sobre cómo evitar las medidas de protección de la

PS3 y sobre los que publicaron comentarios en respuesta al vídeo".

Sony quiere dejar claro que demandará a todos los que publiquen

herramientas para hackear sus productos, exigiéndoles una contraprestación

por "daños no especificados" (como ha hecho con GeoHot). Sony se pone seria...

ESCRIBIR COMENTARIO (0 COMENTARIOS)

Tus datos personales, ¿en

Internet? Lunes, 28 de Febrero de 2011 13:00 Texpaok

Usar puntuación:  / 3

Malo Bueno 

¿Has mandado alguna vez un currículum a alguna empresa a través de Internet?

afa9e940331f5d7

Puntuar vote com_content 833

http://protegetuor

Page 11: whireshark

Si tu respuesta es sí, quizá puedas encontrarlo realizando una simple

consulta en cualquier buscador...

Buscando información sobre la protección de datos, se me ocurrió realizar la

siguiente consulta: "el dni es información personal". El resultado fue el siguiente:

Consulta realizada a Google

No seré yo quien publique la información personal de nadie, pero ahí está, en

Internet. Ya se sabe que Google indexa todo lo que puede (y le dejan), así que

muchas empresas deberían tener cuidado con los contenidos que tienen en sus

sitios web porque pueden estar vulnerando la protección de datos.

Podéis echar un vistazo al siguiente enlace de la Agencia Española de Protección

de Datos:

http://www.agpd.es/portalwebAGPD/jornadas/dia_internet_2010/tus_datos_person

ales_en_internet-ides-idphp.php

Claro que hay algunos otros ejemplos de todo lo contrario. Existen webs

personales que proporcionan TODA la información que podamos imaginar;

un ejemplo es el siguiente: http://estrellamoya.com

Supongo que si es el propio interesado el que facilita sus datos en su web, no se

produce ningún tipo de infracción, ¿no?

Page 12: whireshark

Tus datos personales en Internet

En Internet, como en el mundo físico, nuestra actividad deja un rastro. Además de los datos personales que

aportamos voluntariamente al darnos de alta en servicios como redes sociales, portales de contactos o de

compra on-line, y de los datos personales propios que otros pueden publicar en sitios web sin nuestro

conocimiento, nuestra navegación en Internet deja rastros que pueden identificarnos.

Datos aportados voluntariamente en Internet

Datos personales publicados por terceros en Internet

Datos de navegación y de comportamiento en la Red

Datos aportados voluntariamente en Internet

Facilitamos datos personales, en el momento del registro de alta como usuario, en portales de compra, redes

sociales, portales de contactos, servicios de correo electrónico, o sistemas de mensajería instantánea.

Algunos de estos datos personales son:

> Nombre y apellidos

> Fotografías

> Fecha de nacimiento

> Domicilio

> Número de DNI o pasaporte

> Dirección de correo electrónico

> Número de teléfono

> Código de tarjeta de crédito

** Son importantes porque:

Dicen quién eres

Page 13: whireshark

Pueden revelar una forma de contactarte

Pueden sugerir tu procedencia u orígenes

Pueden revelar tus aficiones, preferencias y hábitos de consumo

Pueden revelar información de tu entorno o familia

** Debemos saber:

A la hora de facilitar datos de carácter personal en la Red hay que asegurarse de la fiabilidad y seguridad que

nos ofrece quien los solicita, debiendo aportar, en todo caso, exclusivamente los necesarios para la finalidad

con la que están siendo recabados. Para ello, debemos acudir a las políticas de privacidad y las condiciones

de uso que se publican en los distintos sitios web.

Datos personales publicados por terceros en Internet

> A través de sitios web como redes sociales, portales de contactos, portales de video, blogs y foros

> A través de repertorios telefónicos online (número de teléfono, dirección postal...)

> A través de boletines y diarios oficiales de las distintas Administraciones Públicas

> A través de ediciones digitales de distintos medios de comunicación (periódicos, televisión, radio,…)

** Son importantes porque:

Pueden estar en la Red sin conocimiento ni consentimiento del titular de los datos y, en muchas ocasiones, su

indexación por los buscadores puede darles una difusión global en Internet.

** Debemos saber:

En la mayoría de los casos, y salvo excepciones, tenemos derecho a solicitar que se cancelen los datos

publicados en esos sitios web o, al menos, a que se evite su recuperación por los buscadores. Para ello,

debemos dirigirnos al responsable del sitio web que aloja el contenido con nuestros datos o también, en el

caso de los blogs y foros, al autor del contenido.

Datos de navegación y de comportamiento en la red.

> Dirección IP

Page 14: whireshark

Es un conjunto de números que identifica a un ordenador cuando se conecta a la red. La dirección IP puede

utilizarse para localizar geográficamente al usuario y, dado que se asigna unívocamente a la línea de

conexión por la compañía que nos presta el servicio de acceso, puede permitir en muchos casos la

identificación del titular de la línea y, en consecuencia, del probable usuario. Muchos servicios de Internet,

como las redes sociales o los buscadores, conservan las direcciones IP de los ordenadores de sus usuario

> Cookies

Son ficheros que se almacenan en el ordenador del usuario que navega a través de Internet y que, en

particular, contienen información sobre el sistema operativo y el navegador utilizados en la navegación. Estos

ficheros se asocian a un número que permite identificar unívocamente el ordenador usuario.

Las cookies son creadas por el sitio web que visita el usuario y permiten a éste conocer con detalle su

actividad en el mismo sitio o en otros con los que se relaciona éste, por ejemplo: el lugar desde el que accede,

el tiempo de conexión, el dispositivo desde el que accede (fijo o móvil), el sistema operativo y navegador

utilizados, las páginas más visitadas, el número de clicks realizados e infinidad de datos respecto al

comportamiento del usuario en Internet.

** Son importantes porque:

Pueden permitir elaborar perfiles sobre nuestra navegación por Internet, los cuales se utilizan para analizar

nuestros gustos y preferencias, con objeto de determinar nuestra idoneidad como participantes en campañas

publicitarias, de marketing u otras actividades. Además, los efectos sobre la privacidad pueden tener un

alcance mayor al que cabe pensar en un primer momento, ante la posibilidad de relacionar su contenido con

la dirección IP de conexión y con otros datos de carácter personal, como son los aportados por los propios

usuarios al registrarse o los que pueden ser recopilados a través de modernas técnicas de minería de datos.

** Debemos saber:

Los sitios web deben informarnos de la utilización de cookies. Además, es posible y recomendable, a través

de las herramientas que proporciona el navegador que utilicemos, borrar regularmente las cookies que se

almacenan en nuestro ordenador.

Sistemas de Detección de intrusos y Snort. (II). Creación de Reglas (I).alfonn 22-01-2008 GTM 1 @ 11:53

Ya vimos en el Capítulo I de Snort el funcionamiento de este IDS y su implementación en nuestra red. Ahora vamos a aprender a crear nuestras propias reglas.

Page 15: whireshark

Introducción.

El lenguaje usado por Snort es flexible y potente, basado en una serie de normas que serán las que nos sirvan de guía para la escritura de las reglas.

Dentro de estas normas tenemos:

la descripción de cada regla cabecera opciones uso de preprocesadores

Las reglas Snort (Snort Rules) deben ser escritas en una sola línea, de lo contrario habrá que usar el carácter de escape (\):

alert tcp any 110 -> (content: "filename=\"TOMOFONICA.TXT.vbs\"";\nocase; msg: "Virus tomofonica";)

La reglas Snort las podemos dividir en dos secciones lógicas, a saber: cabecera de la regla y opciones:

La cabecera contiene la acción de la regla en sí, protocolo, IPs, máscaras de red, puertos origen y destino y destino del paquete o dirección de la operación.

La sección opciones contiene los mensajes y la información necesaria para la decisión a tomar por parte de la alerta en forma de opciones.

Resumiendo lo visto hasta ahora, las reglas Snort las dividiremos de la siguiente manera:

CABECERA

Acción

Protocolos involucrados

Direcciones IP

Números de puerto

Dirección de la operación

Introducción.

El lenguaje usado por Snort es flexible y potente, basado en una serie de normas que serán las que nos sirvan de guía para la escritura de las reglas.

Dentro de estas normas tenemos:

la descripción de cada regla

Page 16: whireshark

cabecera opciones uso de preprocesadores

Las reglas Snort (Snort Rules) deben ser escritas en una sola línea, de lo contrario habrá que usar el carácter de escape (\):

alert tcp any 110 -> (ontent: "filename=\"TOMOFONICA.TXT.vbs\""; \ nocase; msg: "Virus tomofonica";)

La reglas Snort las podemos dividir en dos secciones lógicas, a saber: cabecera de la regla y opciones:

La cabecera contiene la acción de la regla en sí, protocolo, IPs, máscaras de red, puertos origen y destino y destino del paquete o dirección de la operación.

La sección opciones contiene los mensajes y la información necesaria para la decisión a tomar por parte de la alerta en forma de opciones. Irán entre paréntesis.

Resumiendo lo visto hasta ahora, las reglas Snort las dividiremos de la siguiente manera:

CABECERA

Acción

Protocolos involucrados

Direcciones IP de origen y destino

Números de puerto

Dirección de la operación

OPCIONES

Mensaje

Opciones de decisión

EJEMPLO 1

Veamos ahora un ejemplo de regla Snort para alertar de un escaneo nmap del tipo TCP ping:

alert tcp $EXTERNAL_NET any -> $HOME_NET any / (msg:"Escaneo ping con nmap";flags:A;ack:0; / reference:arachnids,28;classtype:attempted-recon; sid:628;/ rev:1;)

Analicemos esta alerta:

Page 17: whireshark

CABECERA

Acción de la regla: alert

Protocolo: tcp

Direccion IP origen: $EXTERNAL_NET (toda la red)

Puerto IP origen: any (cualquiera)

Direccion IP destino: $HOME_NET (toda nuestra red)

Puerto IP destino: any (cualquiera)

Dirección de la operación: -> (puede ser ->, <-, <>)

OPCIONES

Mensaje: msg

Opciones: flags:A;ack:0; reference:arachnids..(1)

Un poco de teoría:

flags:A Establece el contenido de los flags o banderas TCP, en este caso ACK (puede tener varios valores y operadores que veremos más adelante).

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 (veremos más adelante las categorías).

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.

EJEMPLO 2

En el manual oficial del Snort como primer ejemplo tenemos:

alert tcp any any -> 192.168.1.0/24 111 (content:"|00 01 86 a5|"; msg: "mountd access";)

Acceso al demonio de administración mountd de UNIX, el cual tiene tiene diversos problemas de desbordamiento de memoria intermedia, que permiten a un atacante remoto obtener privilegios de administrador en los sistemas vulnerables.

Page 18: whireshark

Dos consideraciones:

1. El orden de la sección opciones. Primero las opciones y después el mensaje. El orden, pues, es indiferente.

2. La opción 'content'. Es una de las opciones más importantes ya que nos permite la búsqueda de contenidos dentro del campo datos del paquete IP. Se puede añadir 'nocase' para que la búsqueda de los datos no sea sensible a las mayúsculas. Estos datos pueden estar en formato hexadecimal, texto plano o binario.

Para resumir, vemos que la cabecera de las reglas sigue el siguiente formato:

 

<direccion de la operación>

Podemos jerarquizar las reglas usando los includes. Estos includes nos permiten crear reglas dentro de otras. El formato sería:

include

Uso de variables en las reglas.

Podemos usar variables (lo hemos visto en el ejemplo anterior). Estas variables se definen en el archivo etc/snort.conf (estudiaremos este archivo de configuración en otros capítulos).

El formato de las variables sería:

var

Por ejemplo:

var MY_NET [102.168.1.0/24]

Con lo cual una regla usando variables quedaría de la siguiente forma:

alert tcp any any -> $MY_NET any (flags: S; msg "SYN Packet";)

Otras variables que podemos defini puede ser la red externa o EXTERNAL_NET o la ubicación de un servidor Oracle, servidor SQL,etc.

Es decir, usaremos las variables para la mejor configuración de los valores de nuestra red.

Cabecera de las reglas. Acciones.

Page 19: whireshark

Hemos vistos que la primera parte de la cabecera es la acción de la regla. La acción de la regla indica a Snort que debe hacer cuando detecte un paquete que coincida con el criterio de la regla. Las accones pueden ser:

alert genera una alerta usando el métido de alerta seleccionado y almacena el log. log archiva el log del paquete pass ignora el paquete activate activa la alerta y llama a una regla dinámica dynamic cuando es llamada por una regla activate se pone en funcionamiento

Algunos ejemplos:

pass tcp any any -> $HOME_NET any (msg:"all traffic";)

pass ip 10.x.x.0/22 any -> any any (content: "Open Port * 80"; msg: \ "Open Port 80."; )

alert tcp any 110 -> (content: "filename=\"TOMOFONICA.TXT.vbs\""; \ nocase; msg: "Virus tomofonica";)

Activate y dynamic lo veremos más adelante.

Práctica comentada. Un caso real.

Crear una regla Snort "desde cero" para la detección de ping desde windows 2000.

Para detectar un ping realizado desde fuera de nuestra red, lo primero que debemos saber es qué tipo de datos intervienen en la cabecera del datagrama IP, en la ICMP y los datos.

*La teoría TCP/IP nos dice que:

1. un echo request es de tipo 8 para obtener un echo reply (tipo 0)2. en el campo Protocolo de la cabecera IP debe ir el dato ICMP y poco

más recordaremos.

 

Así que la cuestión es cómo averiguar el resto de datos y, sobre todo, qué traza deja un ping enviado desde windows 2000.

*Formato de petición y respuesta de eco. Ping echo / echo request:

 

Page 20: whireshark

Para todo esto contamos con un tipo de herramientas llamadas sniffers. Utilizaremos para nuestra práctica Ethereal (ahora WireShark) por ser de los más intuitivos y fáciles de usar e interpretar. Podemos usar también TCPDump/Windump.

1. Segundos antes de enviar un ping desde un host emisor pulsamos en Ethereal (o el soft que hayamos elegido para la captura de trazas): Capture > Start.

2. En nuestro host receptor activamos el capturador de paquetes.3. Enviamos el ping al host receptor, dejando unos segundos para que "termine" el

ping y pulsamos Stop en el panel de captura del host receptor4. Buscamos en la secuencia de captura o traza, la información de envío de ping

usando el protocolo ICMP.

 

Pulsando encima de la información nos saldrá algo paracido a esto en Ethereal:

Frame 61 (74 on wire, 74 captured)Arrival Time: Jun 28, 2002 09:04:11.247973000Time delta from previous packet: 0.000060000 secondsTime relative to first packet: 1.864325000 secondsFrame Number: 61Packet Length: 74 bytesCapture Length: 74 bytesEthernet IIDestination: 00:04:76:9a:66:a6 (INFOGRAFIA5)Source: 00:01:02:9f:7b:0d (INFOGRAFIA3)Type: IP (0x0800)Internet Protocol, Src Addr: INFOGRAFIA3 (192.168.4.3), Dst Addr: INFOGRAFIA5 (192.168.4.5)Version: 4Header length: 20 bytesDifferentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)0000 00.. = Differentiated Services Codepoint: Default (0x00).... ..0. = ECN-Capable Transport (ECT): 0.... ...0 = ECN-CE: 0Total Length: 60Identification: 0x6aaaFlags: 0x00.0.. = Don't fragment: Not set..0. = More fragments: Not setFragment offset: 0Time to live: 128Protocol: ICMP (0x01)Header checksum: 0x46be (correct)Source: INFOGRAFIA3 (192.168.4.3)Destination: INFOGRAFIA5 (192.168.4.5)Internet Control Message Protocol

Page 21: whireshark

Type: 0 (Echo (ping) reply)Code: 0Checksum: 0x4e5c (correct)Identifier: 0x0200Sequence number: 05:00Data (32 bytes)

0000 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 abcdefghijklmnop0010 71 72 73 74 75 76 77 61 62 63 64 65 66 67 68 69 qrstuvwabcdefghi

Las dos últimas líneas son los datos (32 bytes) que nos servirán como firma o huella para nuestra regla snort.

 

Ya sabemos la firma o huella que deja un ping en Windows 2000. Ya sólo nos queda crear una regla donde la opcion content tenga los datos "abcdefghijklmnopqrstuvwabcdefghi"

La regla nos quedaría entonces:

alert ICMP $EXTERNAL any -> $INTERNAL any (msg: "ICMP ping en Windows 2000."; dsize: 32; itype: 8; content: "abcdefghijklmnopqrstuvwabcdefghi"; depth: 32;)

Donde aparecen nuevos indicadores:

dsize: tamaño de datos. comprobación del tamaño del contenido del paquete. itype: tipo de icmp, en este caso para un ping es 8. depth: extensión del tamaño de datos que se ha de inspeccionar.

 

De esta práctica podemos desprender que para la creación de la mayoría de las reglas Snort el procedimiento es estudiar las trazas dejadas por cortafuegos y NIDS que supongan algún tipo de ataque o intrusión al sistema que queremos proteger.

Basándonos en el estudio de estas trazas, hallaremos la firma o huella del ataque que nos servirá en la creación de la regla de detección.

Instalación de las reglas creadas

Las reglas Snort de ubican en ficheros .rules (snort rules). Aquí vemos parte del contenido de uno de estos ficheros:

Page 22: whireshark

# (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.# All rights reserved.# $Id: virus.rules,v 1.16 2002/08/18 20:28:43 cazz Exp $#------------# VIRUS RULES#------------## NOTE: These rules are NOT being actively maintained.### If you would like to MAINTAIN these rules, e-mail# [email protected]#

alert tcp any 110 -> any any (msg:"Virus - SnowWhite Trojan Incoming"; content:"Suddlently"; sid:720; classtype:misc activity; rev:3;)

alert tcp any 110 -> any any (msg:"Virus - Possible pif Worm"; content: ".pif";

nocase; sid:721; classtype:misc-activity; rev:3;)

alert tcp any 110 -> any any (msg:"Virus - Possible NAVIDAD Worm"; content:

"NAVIDAD.EXE"; nocase; sid:722; classtype:misc-activity; rev:3;)

alert tcp any 110 -> any any (msg:"Virus - Possible MyRomeo Worm"; content:

"myromeo.exe"; nocase; sid:723; classtype:misc-activity; rev:3;)

alert tcp any 110 -> any any (msg:"Virus - Possible MyRomeo Worm"; content:

"myjuliet.chm"; nocase; sid:724; classtype:misc-activity; rev:3;)

alert tcp any 110 -> any any (msg:"Virus - Possible MyRomeo Worm"; content: "ble

bla"; nocase; sid:725; classtype:misc-activity; rev:3;)

alert tcp any 110 -> any any (msg:"Virus - Possible MyRomeo Worm"; content: "I

Love You"; sid:726; classtype:misc-activity; rev:3;)

alert tcp any 110 -> any any (msg:"Virus - Possible MyRomeo Worm"; content:

"Sorry... Hey you !"; sid:727; classtype:misc-activity; rev:3;)

Page 23: whireshark

alert tcp any 110 -> any any (msg:"Virus - Possible MyRomeo Worm"; content: "my

picture from shake-beer"; sid:728; classtype:misc-activity; rev:3;)

 

Crearemos un fichero como este personalizado para almacenar nuestras reglas creadas (lo importante de este fichero de texto plano son las reglas, el resto -con la marca # - es sólo a título informativo).

Estos ficheros .rules se almacenan en el directorio raíz de Snort (por defecto).