Envenenamienteo ARP

¿Cómo lo hace? Pues nada más sencillo, cuando una máquina quiere enviar un paquete a otra, lo que hace es simplemente lanzar una pregunta ARP del estilo: ¿Quién tiene esta dirección IP?.La máquina poseedora de la misma responde con un paquete en el que se relaciona su IP con su MAC, con lo que ya la conversación puede ser establecida. Por temas de rendimiento, cada máquina va guardando las respuestas obtenidas, de tal forma que no sea necesario volver a hacer la pregunta la próxima vez que se necesite mandar un paquete a una máquina ya interrogada (también existe un tiempo de expiración de esta información, como en cualquier cache convencional).
Algo muy importante es el hecho de que el protocolo ARP no tiene estado de la conexión, en otras palabras, se pueden recibir respuestas sin haber sido hechas las preguntas, una vez más se trata de una decisión que afecta positivamente al desempeño del protocolo, pero que sin embargo nos deja la puerta abierta al ataque que comentabamos, el ARP Poisoning. Éste consiste simplemente en enviar paquetes a todas las máquinas de la red en la que relacionamos una IP que no es la nuestra, con nuestra MAC. Esta relación será almacenada en la cache de las máquinas víctimas (de ahí el nombre del ataque, envenenamiento de la cache ARP), de tal forma que cuando quieran enviar un paquete a ese equipo, lo enviarán al nuestro. Normalmente, se mapea la IP de la pasarela con la MAC del equipo atacante, de tal forma que todos los paquetes que quieran ir fuera de la red, pasen primero por nuestro equipo, con lo que tendremos acceso a toda la información.
¿Cómo puedo llevar a cabo este ataque?
Se acabó la teoría, pongámonos manos a la obra. Supondré que tienes un sistema Debian o similar, si no, adapta las instrucciones según convenga. Lo primero será hacernos con el conjunto de herramientas Dsniff:
# apt-get install dsniff
Ahora debemos asegurarnos que nuestra máquina sea capaz de reenviar paquetes, si no es así, cortaremos todas las comunicaciones interceptadas, lo que no nos interesa en manera alguna.
# echo 1 > /proc/sys/net/ipv4/ip_forward
Luego debemos obtener la ip de la pasarela, que será la máquina a la que queremos interceptar todos los paquetes.
# route | grep default
Por útlimo pondremos a funcionar la utilidad arpspoof encargada de realizar el ataque:
# arpspoof ip_pasarela
Y listo, en otra terminal ponemos a escuchar el msnspy y a disfrutar.

No hay comentarios: