En un entorno de red conmutada, los paquetes se envían a su puerto de destino por dirección MAC. Este proceso requiere que los sistemas de la red mantengan una tabla que asocie direcciones MAC a puertos. En un entorno conmutado, los paquetes solo se envían a los dispositivos para los que están destinados. Incluso en este entorno conmutado, hay formas de oler los paquetes de otros dispositivos. Una de esas formas es falsificar tu dirección MAC y envenenar la tabla arp. Como arp no guarda información de estado, la caché arp se puede sobrescribir (a menos que una entrada esté explícitamente marcada como permanente).
El envenenamiento de caché Arp pone al atacante en posición de interceptar las comunicaciones entre los dos equipos. La computadora A cree que se está comunicando con la Computadora B, pero debido a la tabla arp envenenada, la comunicación en realidad va a la computadora del atacante. El atacante puede responder a la Computadora A (pretendiendo ser la Computadora B), o simplemente reenviar los paquetes a su destino previsto, pero solo después de que la información del paquete sea capturada y registrada para su uso posterior por el atacante. Del mismo modo, la respuesta de la Computadora B puede ser capturada y registrada por el atacante, que también ha utilizado el envenenamiento Arp para hacer que la Computadora B piense que la computadora del atacante es la Computadora A. Este tipo de ataque se conoce como ataque de Hombre en el Medio.
Este artículo cubre una serie de herramientas utilizadas en ataques de envenenamiento de caché arp, incluyendo ettercap, arpspoof, nemesis, p0f, dsniff y scapy.
Ejecutar Ettercap
Para que se produzca el envenenamiento de caché arp, el atacante debe estar en el mismo segmento de red que los sistemas atacados. El primer paso es obtener una lista de direcciones IP y sus direcciones MAC asociadas. Varias herramientas le ayudarán a obtener esta información; un ejemplo es una herramienta llamada ettercap (http://ettercap.sourceforge.net/). Ettercap es una suite para ataques de hombre en el medio en una LAN local. Cuenta con olfateo de conexiones en vivo, filtrado de contenido sobre la marcha y más. Ettercap admite la disección activa y pasiva de muchos protocolos, algunos de varios protocolos. El siguiente comando:
# ettercap -T -M arp:remote //
rastreará rápidamente todos los hosts dentro de su subred; para ver los resultados, escriba L o presione h para el menú de ayuda y verá una lista de comandos.
Arp Cache DOS
Para envenenar una dirección IP dada y desconectar el sistema para que no pueda comunicarse con nadie, use arpspoof de la suite dsniff (http://monkey.org/~dugsong/dsniff/), una colección gratuita de herramientas para auditorías de red y pruebas de penetración. La suite dsniff incluye herramientas como dsniff, filesnarf, mailsnarf, nsgsnarf, urlsnard y webspy, que monitorean pasivamente una red en busca de datos interesantes. (Las herramientas Arpspoof, dnsspoof y macof facilitan la interceptación del tráfico de red que normalmente no está disponible para un atacante debido a la conmutación de capa 2.)
Arpspoof (http://arpspoof.sourceforge.net/) es mucho más simple que ettercap para redirigir paquetes:
# arpspoof-i eth0-t <target> host
Especificar la interfaz es opcional, pero se requiere si hay más de una interfaz presente. La opción-t especifica el host en particular a arp poison; si no se especifica el host, se envenenarán todos los hosts de la LAN. El host puede ser la puerta de enlace predeterminada, y esto evitará que el destino se comunique más allá del segmento local. Arpspoof redirige paquetes de un host de destino o de todos los hosts de la LAN falsificando respuestas ARP. La belleza de este programa viene de la función arp_send (), que también usa libnet para falsificar paquetes. arp_send () envía un paquete arp con direcciones IP de origen/destino y de hardware Ethernet proporcionadas por el usuario. Libnet es una API de red genérica que proporciona acceso a varios protocolos.
Para comprender mejor el proceso de envenenamiento de caché arp, considere una herramienta alternativa llamada Némesis. Si tienes la IP y la MAC del objetivo y host previstos, puedes usar Némesis para envenenar el objetivo. Nemesis (http://nemesis.sourceforge.net/) es una utilidad de inyección y elaboración de paquetes de red de línea de comandos. Nemesis puede crear e inyectar paquetes ARP, DNS, ETHERNET, ICMP, IGMP, IP, OSPF, RIP, TCP y UDP. Al crear su propio paquete usando Nemesis, puede ver cómo funciona el envenenamiento de caché arp:
$ sudo nemesis arp -v -r -d eth0 -S 192.168.1.2 \-D 192.168.1.133 -h 00:22:6E:71:04:BB -m 00:0C:29:B2:78:9E \-H 00:22:6E:71:04:BB -M 00:0C:29:B2:78:9E
A continuación, crea un paquete para enviarlo en la otra dirección:
$ sudo nemesis arp -v -r -d eth0 -S 192.168.1.133 \-D 192.168.1.2 -h 00:22:6E:71:04:BB -m 00:22:6B:7E:AD:7C \-H 00:22:6E:71:04:BB -M 00:22:6B:7E:AD:7C
Estos dos comandos falsifican respuestas ARP de 192.168.1.2 a 192.168.1.133 y luego de 192.168.1.33 a 192.168.1.2. La opción arp de Nemesis-S especifica la dirección IP de origen,- D especifica la dirección IP de destino,- h especifica la dirección MAC del remitente,- m muestra la dirección MAC de destino,- H la dirección MAC de origen y-M la dirección MAC de destino. Estos dos comandos envían respuestas ARP falsas para mantener envenenados los cachés ARP y redirigir el tráfico.
Para asegurarse de que la caché permanezca envenenada, vuelva a reproducir los comandos cada 10 segundos con un bucle.
$ while true>do> sudo nemesis arp -v -r -d eth0 -S 192.168.1.2 \-D 192.168.1.133 -h 00:22:6E:71:04:BB -m 00:0C:29:B2:78:9E \-H 00:22:6E:71:04:BB -M 00:0C:29:B2:78:9E> sudo nemesis arp -v -r -d eth0 -S 192.168.1.133 \ -D 192.168.1.2 -h 00:22:6E:71:04:BB -m 00:22:6B:7E:AD:7C \-H 00:22:6E:71:04:BB -M 00:22:6B:7E:AD:7C> echo "Redirecting"> sleep 10> done
Una vez hecho esto, la caja de destino estará desconectada y no podrá comunicarse con el resto de la red. Hice un video en mi sitio que demuestra este ataque y está disponible en http://pbnetworks.net.
Olfatear la LAN
Un objetivo del envenenamiento de caché arp es poner al atacante en posición para capturar y registrar la información de la red. Los intrusos tienen varias herramientas para escuchar en la LAN y registrar datos para su análisis posterior.
El modo puente de Ettercap le permite interceptar paquetes que luego puede leer, oler o cambiar antes de enviarlos a la víctima. El modo puente requiere dos interfaces que se colocan en el segmento de red. Si configura en línea con el modo de puente de red, es muy difícil de detectar.
# ettercap -Tq -i eth0 -B eth1
El-i establece la interfaz principal como eth0, el-B establece la segunda interfaz de puente. Si ejecuta ettercap en la interfaz de usuario de GTK+, seleccione Detección / detección por puente.