ARP Poisoning

ARP son las siglas en inglés de Address Resolution Protocol (Protocolo de resolución de direcciones).

Es un protocolo de nivel de red responsable de encontrar la dirección hardware (Ethernet MAC) que corresponde a una determinada dirección IP. Para ello se envía un paquete (ARP request) a la dirección de multidifusión de la red (broadcast (MAC = ff ff ff ff ff ff)) 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 Ethernet que le corresponde. Cada máquina mantiene una caché con las direcciones traducidas para reducir el retardo y la carga. ARP permite a la dirección de Internet ser independiente de la dirección Ethernet, pero esto sólo funciona si todas las máquinas lo soportan.

ARP está documentado en el RFC (Request For Comments) 826.

El ARP Spoofing, también conocido como ARP Poisoning o ARP Poison Routing, es una técnica usada para infiltrarse en una red Ethernet conmutada (basada en switch y no en hubs), que puede permitir al atacante husmear paquetes de datos en la LAN (red de área local), modificar el tráfico, o incluso detener el tráfico (conocido como DoS: Denegación de Servicio).

El principio del ARP Spoofing es enviar mensajes ARP falsos (falsificados, o spoofed) 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 (gateway). 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 ARP Spoofing puede ser ejecutado desde una máquina controlada (el atacante ha conseguido previamente hacerse con el control de la misma: intrusión), un Jack Box, o bien la máquina del atacante está conectada directamente a la LAN Ethernet.

Para realizar un ARP poisoning se necesitan básicamente dos herramientas:

  • Ettercap
  • Sniffer (CommView, Ethereal, Wireshark, etc)

Ettercap es un interceptor/sniffer/registrador para LANs con switch. Soporta disecciones activas y pasivas de varios protocolos (incluso aquellos cifrados, como SSH y HTTPS). También hace posible la inyección de datos en una conexión establecida y filtrado al vuelo aun manteniendo la conexión sincronizada gracias a su poder para establecer un Ataque Man-in-the-middle(Spoofing). Muchos modos de sniffing fueron implementados para darnos un conjunto de herramientas poderoso y completo de sniffing.

A mí personalmente no me gusta mucho el sniffer que tiene Ettercap, por eso utilizo CommView, pero como esta aplicación necesita licencia se puede utilizar Ethereal o Wireshark, como dije esto es opcional ya que Ettercap dispones de su propio sniffer.

Antes de empezar a jugar con el ettercap tenemos que activar el forwarding para que nuestra maquina actúe como un router y cuando recibamos paquetes que no están destinado a nosotros intente entregarlos al destino correcto. En Linux esto lo hacemos con la instrucción "echo 1 > /proc/sys/net/ipv4/ip_forward"; para hacer esto en Windows tendremos que ir al registro de windows y en la entrada "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameter" el valor IPEnableRouter lo ponemos a 1.

Ahora arrancamos el Ettercap, y seleccionamos en el menú “Sniff” la opción “Unified Sniffing “, después seleccionas la interface de red a utilizar; después de esto en el menu “Host” seleccionan la opción “Scan for Hosts”, esto hace que Ettercap realice un búsqueda de los hosts disponibles en la red, al finalizar el escaneo de hosts en el mismo menú selecciona la opción “Hosts Lists” lo que muestra los equipos disponibles en la red, hecho esto seleccionas los dos objetivos a escanear, para eso seleccionas el primer objetivo y pulsas el botón “Add to Target 1”, luego seleccionas el segundo objetivo seleccionándolo de la lista y pulsando el botón “Add to Target 2”; hecho esto en el menú “Mitm” selecciona la opción “ARP poisoning” con esto se ha realizado el envenenamiento de las tablas ARP en ambos objetivos, para iniciar la captura de los datos en el menú “Start” selecciona la opción “Start Sniffing” con lo cual Ettercap empieza la captura de los datos que se cursen entre ambos objetivos.

Si utilizas otro Sniffer, lo puedes utilizar normalmente ya que todos los datos enviados entre ambos equipos pasara primero por tu maquina, este ataque se conoce como el de “hombre en el medio”