viernes, 30 de noviembre de 2012

Ataque "Man in The Middle" con Cain I/II

Muchas veces hemos oído hablar sobre el ataque denominado "Man in The Middle" (MitM). Pero, ¿qué es este ataque? ¿Cómo se lleva a cabo? ¿Y podemos protegernos de él? Veamos.

¿Qué es el ataque Man in The Middle?

En criptografía, un MitM es un ataque en el que el enemigo adquiere la capacidad de leer, insertar y modificar a voluntad, los mensajes entre dos partes sin que ninguna de ellas conozca que el enlace entre ellos ha sido violado. El atacante debe ser capaz de observar e interceptar mensajes ante las dos víctimas.

Pongamos una ilustración práctica para entenderlo: Ana quiere enviar un mensaje a Pablo pero Javier pretende interceptarlo.

Javier hace creer a Ana que es Pablo para que ella le envíe el mensaje a él y no a Pablo. Luego Javier hace creer a Pablo que es Ana y le envía el mensaje de ella. Así se ha colocado en medio de los dos y ha interceptado el mensaje.


Traducido a un sentido criptográfico de clave pública lo primero que debería hacer Ana es pedirle la clave pública a Pablo. Pero si Javier es capaz de interceptar esa clave, podría enviar a Ana su propia clave pública haciéndole creer a ella que es la de Pablo. Ana cifraría el mensaje con la clave pública de Javier y la enviaría a Pablo. Javier interceptaría el mensaje de nuevo y lo descifraría con su clave privada (obteniendo así el mensaje en claro). Luego lo cifraría con la clave pública de Pablo y se lo enviaría a este. Pablo lo recibiría creyendo que es de Ana y así ninguno de los dos notó que Javier había interceptado la conversación.

Protocolo ARP

En las redes actuales que hacen uso de los niveles del protocolo TCP/IP, como Internet y la mayoría de las redes locales, el encargado de establecer la correspondencia entre las direcciones del nivel de enlace y del nivel de red es el protocolo ARP.Este es un protocolo sencillo que permite averiguar la dirección hardware de nivel de enlace, conocida como dirección MAC, partiendo de una dirección IP de nivel de red.

El funcionamiento del protocolo es sencillo: se envía una petición ARP a la dirección de broadcast de la red preguntando que MAC tiene una determinada dirección IP. Al llegar a la dirección de broadcast todos los nodos de la red recibirán el paquete pero si no tienen dicha IP lo descartarán. Solo responderá aquel nodo que sí tiene dicha IP. Cuando el nodo emisor recibe el paquete lo almacena en la caché de ARP.

Relación entre el MitM y el protocolo ARP (ARP Spoofing)

Usando la técnica de MitM podemos cambiar cambiar la caché de ARP de los nodos a los que vamos a atacar para que la MAC de estos sea la MAC del atacante. Cada vez que alguno de los nodos quiera enviar información al otro, resolverá la dirección MAC del mismo mediante su caché de ARP previamente envenenada, enviando así el tráfico al atacante en vez de al destinatario real. El switch enviará las tramas por la boca del destinatario, que en este caso es el atacante. Éste las recibirá y las pasará a la aplicación adecuada, que puede ser un sniffer que capture el tráfico.

El atacante reenviará el contenido de las tramas al destinatario real. La única diferencia entre la trama original y la modificada es, la dirección ethernet del destinatario, que varía de la del atacante a la de una de las víctimas. El nodo correspondiente recibirá el tráfico como si nada hubiese ocurrido. El ataque se ha establecido.

En el siguiente post explicaremos como realizar esto con Cain&Abel 2.0 y si podríamos defendernos de él de alguna manera.

Saludos curiosos.

No hay comentarios:

Install Drupal 8 in CentOS

Drupal is an open source, flexible, highly scalable and secure Content Management System (CMS) which allows users to easily build and create...