Esta técnica también es conocida como ARP Spoofing/Poisoning. El protocolo ARP se encarga de traducir direcciones IP (capa 3) a direcciones MAC (capa 2) en una red LAN mediante el envío y recepción de mensajes ARP Request y ARP Reply. Cada host mantiene una tabla ARP en la que relaciona pares de direcciones IP/MAC, el protocolo entra en funcionanmiento cuando un host no encuentra la correspondiente dirección MAC de una determinada IP con la que necesita comunicarse, el host envía un mesaje ARP Request preguntando por la dirección MAC del dispositivo que tenga la IP solicitada, la petición será respondida por medio de un mensaje ARP Reply con la dirección MAC buscada y se completará de esta manera la tabla ARP.

La técnica consiste entonces en alterar los valores de la tabla ARP de los objetivos para engañarlos haciéndolos creer que tenemos asignada otra dirección IP, esto se logra enviando mensajes ARP Reply maliciosos al objetivo para hacerle creer por ejemplo que nuestra dirección MAC tiene asignada la dirección IP del gateway, veamos un ejemplo:

En este ejemplo hipotético, el objetivo del Intruso es capturar todo el tráfico de red de Pedro que al estar navegando en Internet ya tiene en su tabla ARP asociada la pareja de direcciones IP(Router) – MAC(Router). El Intruso lo que debe hacer entonces es enviar un mensaje ARP Reply con la información IP(Router) – MAC(Intruso) para de esta menear “envenenar” la tabla ARP de Pedro y repetir el procediemiento con el Router enviando un mensaje ARP Reply con la información IP(Pedro) – MAC(Intruso). Todo este procedimiento también es conocido como Man in The Middle. El Intruso al estar escuchando todo el tráfico entre Pedro y el Router tendrá varios vectores de ataque que están fuera del alcance de esta entrada, pero a estas alturas, la seguridad y privacidad de Pedro estará comprometida de manera significativa. A continuación vamos a ver dos herramientas que permiten realizar envenenamiento ARP:

Ettercap

Ettercap nació como un sniffer para redes conmutadas pero ha evolucionado para convertirse en una poderosa y flexible herramienta con características de filtrado de contenidos y para ataques de man in the middle, solamente vamos a usar el módulo de MitM para realizar el envenenamiento ARP, la versión que uso es la 0.7.6:

# ettercap -T -i eth0 --only-mitm -M arp:remote /IPGateway/ /IPVíctima/
  • -T Esocgemos la interfaz textual (-T) de ettercap
  • -i eth0 Indicamos que vamos a utilizar la interfaz de red eth0.
  • --only-mitm Desactiva las otras características como el Sniffer. Ettercap por defecto reenvía el tráfico de red con direcciones IP que no sean la nuestra, pero con esta opción activada dicha responsabilidad recaerá en el kernel, y debemos activar el IP Forwading colocando en 1 la bandera del kernel /proc/sys/net/ipv4/ip_forward. Si no usamos esta opción de Ettercap, dicha activación no sería necesaria:
# echo "1" > /proc/sys/net/ipv4/ip_forward
  • -M arp:remote Le indicamos que realice el envenenamiento ARP.
  • Objetivos: Los objetivos tienen la siguiente sintaxis: MAC/IPs/PORTs lo cual significa que los “/” son necesarios y en el caso de /IPGateway/ significan: cualquier MAC en la dirección IP IPGateway en cualquier puerto.

Cuando queramos terminar el envenenamiento ARP, presionamos q para finalizar Ettercap, pero la herramienta no concluye sin antes enviar los ARP Reply correspondientes para llenar correctamente las tablas ARP de los objetivos (RE-ARPing the victims…).

arpspoof

Es este caso siempre debemos activar IP Forwading en el kernel, el envenenamiento ARP con arpspoof sería de la siguiente manera:

# arpspoof -i eth0 -c own -t IPVíctima -r IPRouter
  • -i eth0 Indicamos que use la interfaz de red eth0.
  • -c own Se indica que use la dirección MAC real de la interfaz indicada en la opción anterior para que el ataque sea más fiable, según lo indican en el manpage de la herramienta.
  • -t La IP de la víctima.
  • -r Con este parámetro el envenenamiento ARP se realiza tanto para la Víctima como para el Router, evitando de esta manera la ejecución de otra instancia de arpspoof para alterar la tabla ARP del Router.
  • IPRouter En este caso en la IP que queremos suplantar en la red en primera instancia.

arpspoof quedará continuamente enviando mensajes ARP Reply tanto al Router como a la víctima hasta que presionemos ctr+c para terminar el proceso, no sin antes enviar los mensajes ARP Reply correspondientes para volver a llenar las tablas ARP correctamente de los objetivos (re-arping targets) al igual que lo hace Ettercap.

Conclusiones

  • Este tipo de ataques solamente tiene sentido en redes LAN, ya que ese es el dominio del protocolo ARP y las direciones MAC, ya que las últimas son el mecanismo utilizado para identificar un Host en una red LAN.
  • El envenenamiento ARP es una de la razones para pensarlo dos veces antes de conectarse a un Wi-Fi en algún café, campus universitarios, hoteles, entre otros lugares, sino tomamos las medidas necesarias, que veremos en una entrada posterior.
  • Además de las herramientas mostradas, existen otras que permiten realizar el envenenamiento ARP, como lo son: Arpoison, arp-sk, ARP0c/WCI, Scapy, Cain & Abel, entre muchas otras.