# Suplantación de ARP

La suplantación de ARP (en inglés ARP spoofing) es enviar mensajes ARP falsos a la Ethernet. Normalmente la finalidad es asociar la dirección MAC del atacante con la dirección IP de otro nodo (el nodo atacado), como por ejemplo la puerta de enlace predeterminada. Cualquier tráfico dirigido a la dirección IP de ese nodo, será erróneamente enviado al atacante, en lugar de a su destino real. El atacante, puede entonces elegir, entre reenviar el tráfico a la puerta de enlace predeterminada real (ataque pasivo o escucha), o modificar los datos antes de reenviarlos (ataque activo). El atacante puede incluso lanzar un ataque de tipo DoS (denegación de servicio) contra una víctima, asociando una dirección MAC inexistente con la dirección IP de la puerta de enlace predeterminada de la víctima.
El ataque de suplantación de ARP puede ser ejecutado desde una máquina controlada (el atacante ha conseguido previamente hacerse con el control de la misma: intrusión), o bien la máquina del atacante está conectada directamente a la red local Ethernet.

## Aplicación

ARP es un protocolo de la capa 2 y 3 (ya que contiene la dirección MAC e IP). Tanto los paquetes de petición de ARP como los de respuesta de ARP pueden ser tráfico de difusión. Como tales, no están diseñados para proporcionar ninguna validación de identificación en la transacción.
Aunque la suplantación de ARP se puede ejecutar en el transcurso de transacciones ARP, creando una condición de carrera, el uso más común es la distribución de respuestas ARP no solicitadas, que son almacenadas por los clientes en sus cachés ARP, generando de esta manera el escenario de envenenamiento de caché ARP (ARP Poisoning).

## Defensas

Un método para prevenir la suplantación de ARP es el uso de tablas ARP estáticas, es decir añadir entradas estáticas ARP, de forma que no existe caché dinámica, cada entrada de la tabla mapea una dirección MAC con su correspondiente dirección IP. Sin embargo, esta no es una solución práctica, sobre todo en redes grandes, debido al enorme esfuerzo necesario para mantener las tablas ARP actualizadas: cada vez que se cambie la dirección IP de un equipo, es necesario actualizar todas las tablas de todos los equipos de la red.
Por lo tanto, en redes grandes es preferible usar otro método: la inspección o snooping de DHCP. Mediante DHCP, el dispositivo de red mantiene un registro de las direcciones MAC que están conectadas a cada puerto, de modo que rápidamente detecta si se recibe una suplantación ARP. Este método es implementado en el equipamiento de red de fabricantes como Cisco, Extreme Networks y Allied Telesis.
Otra forma de defenderse contra la suplantación de ARP, es detectarlo. Arpwatch es un programa Unix que escucha respuestas ARP en la red, y envía una notificación vía correo electrónico al administrador de la red, cuando una entrada ARP cambia.
Comprobar la existencia de direcciones MAC clonadas (correspondientes a distintas direcciones IP) puede ser también un indicio de la presencia de una suplantación de ARP, aunque hay que tener en cuenta, que hay usos legítimos de la clonación de direcciones MAC.
RARP (ARP inverso) es el protocolo usado para consultar, a partir de una dirección MAC, su dirección IP correspondiente. Si ante una consulta, RARP devuelve más de una dirección IP, significa que esa dirección MAC ha sido clonada.

## Usos legítimos

La suplantación de ARP puede ser usado también con fines legítimos. Por ejemplo, algunas herramientas de registro de red, pueden redirigir equipos no registrados a una página de registro antes de permitirles el acceso completo a la red.
Otra implementación legítima de suplantación de ARP, se usa en hoteles para permitir el acceso a Internet, a los portátiles de los clientes desde sus habitaciones, usando un dispositivo conocido como HEP (head-end processor o procesador de cabecera), sin tener en cuenta su dirección IP.
La suplantación de ARP puede ser usado también para implementar redundancia de servicios de red. Un servidor de backup puede usar la suplantación de ARP para sustituir a otro servidor que falla, y de esta manera ofrecer redundancia de forma transparente.

## Historia

Uno de los primeros artículos sobre la suplantación de ARP fue escrito por Yuri Volobuev en ARP and ICMP redirection games.

## Herramientas para la suplantación de ARP

Arpspoof (parte de las herramientas de DSniff), Arpoison, Caín y Abel, Ettercap, Netcat, SwitchSniffer y AyCarrumba son algunas de las herramientas que pueden usarse para llevar a cabo los ataques de envenenamiento de ARP.