Envenenamiento ARP

Revisión del 14:16 20 jun 2019 de Javiermartin jc (discusión | contribuciones) (Texto reemplazado: «<div align="justify">» por «»)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Envenenamiento ARP
Información sobre la plantilla
Man the middle attack.jpg
Concepto:Técnica de hacking usada para infiltrarse en una red


El ARP Spoofing o envenenamiento de tablas ARP, es una técnica de hacking usada para infiltrarse en una red, con el objetivo de que un atacante pueda husmear los paquetes de datos que pasan por la LAN (red de área local), modificar el tráfico, o incluso detenerlo.

Mediante este tipo de ataques, se puede obtener información sensible de una víctima que esté en la misma red que el atacante, como nombres de usuario, contraseñas, coockies, mensajes de correo y mensajería instantánea, conversaciones VoIP, etc.

Esta técnica no se basa en una vulnerabilidad concreta que pueda llegar a desaparecer con el tiempo, sino que se basa en un fallo de diseño de las redes TCP1 (Transmission Control Protocol), y por tanto, es un método de ataque siempre válido y eficaz a menos que se tomen medidas específicas contra él.

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), o bien la máquina del atacante está conectada directamente a la LAN Ethernet.

Antes de entender este tipo de ataque, es necesario conocer ciertos conceptos previos en los que se basa

Dirección MAC

La dirección MAC (Media Access Control) es un identificador único que se asigna a todas y cada una de las tarjetas de red existentes. Este identificador se graba en una memoria especial de las mismas. Lo hace el propio fabricante de la tarjeta o dispositivo, y consiste en una serie de números que identifican unívocamente a esa tarjeta de red.

De esta secuencia de números se pueden deducir una serie de datos, como por ejemplo el fabricante (marca de la tarjeta). También es conocida como la dirección física, dirección hardware, etc.

Su formato es el siguiente: 12:34:56:78:9A:BC

Se trata de una codificación hexadecimal en pareja de 48 bits de información. Los 24 primeros bits (tres primeras parejas de números) identifican al fabricante del hardware, y los 24 bits restantes corresponden al número de serie asignado por el fabricante, lo que garantiza que dos tarjetas no puedan tener la misma dirección MAC.

Es posible obtener la dirección MAC de una tarjeta a través del sistema operativo (en el sistema operativo Windows se obtiene por línea de comandos, ejecutando la sentencia ipconfig). Aunque, como se ha mencionado, la dirección MAC debe ser única por cada tarjeta de red, es el sistema operativo, en última instancia, el que la gestiona. Por tanto, es posible, indicar al sistema operativo que informe al resto de ordenadores en la red que la dirección MAC de una tarjeta es diferente a la real. Esta técnica conforma una de las bases del ataque de envenenamiento ARP.

ARP (Address Resolution Protocol)

Se trata de un protocolo de red que sirve para determinar, a qué sistema concreto pertenece una IP. En una red local, ni las tarjetas de red ni los dispositivos que las unen (switch, puntos de acceso, etc.) entienden el protocolo IP. Eso es trabajo del sistema operativo. Estos dispositivos, en un nivel más bajo (cuando los datos todavía no han sido interpretados por el sistema operativo) solo son capaces de reconocer direcciones MAC (físicas).

Así, cuando un sistema conectado a una red quiere comunicarse con otro, debe enviar primero lo que se conoce como mensaje de difusión (broadcast) a toda la red usando este protocolo de resolución de direcciones físicas (ARP). El mensaje es enviado y recibido por todas las tarjetas de red. El sistema operativo que lo recibe lo procesa y devuelve al interesado la dirección IP asociada a esa dirección MAC. Resumiendo, se trata del protocolo usado para que en la red exista una asociación “dirección MAC”-“dirección IP” y hacer así la comunicación más eficiente.

Caché ARP

Para que el sistema operativo no tenga que realizar esa consulta de difusión cada vez que necesita conocer la dirección IP asociada a una MAC (o viceversa), suele almacenarlo en una memoria interna llamada caché ARP.

La caché ARP puede ser consultada en cualquier ordenador de forma muy sencilla a través de una línea de comando: arp -a

Con el comando es posible obtener una lista actualizada de las direcciones IP y direcciones MAC correspondientes en una red. Cuando un nuevo dispositivo es conectado a la misma, o el sistema se comunica por primera vez con otro ordenador, se envía un nuevo mensaje de difusión. Si por el contrario la red se mantiene estable, el sistema solo consulta la mayor parte del tiempo su memoria caché.

El envenenamiento ARP consiste precisamente en intentar modificar esa caché, de forma que el sistema operativo recuerde una asociación falsa entre dirección IP y dirección MAC.

Tipos de ataque

Las posibilidades de ataque son diversas dependiendo de con qué MAC se envenene la caché de la víctima

ARP DoS

ARP Denial of Service. Consiste en hacer pensar a la víctima que una dirección IP está asociada a una dirección MAC que no existe. Por tanto, cada vez que la víctima desee comunicarse con esa dirección IP, el switch hace que el tráfico se dirija a un sistema inexistente y no llegue a su destino. La víctima ha perdido la comunicación con esa dirección IP en la red interna. Si la dirección IP es la de su puerta de acceso, pierde la conexión con el exterior.

Es el ataque más básico, y para ello el atacante solo debe enviar de forma regular paquetes de respuesta ARP especialmente manipulados, con una asociación falsa.

ARP Sniffing

¿Qué ocurre si el atacante hace pensar a la víctima que una dirección IP está asociada a su propia dirección MAC? Esto puede constituir el segundo tipo de ataque: la obtención de información.

En este caso el atacante indica a la víctima que una dirección IP está asociada a su MAC. Por tanto, todo ese tráfico es redirigido a él mismo. Habitualmente, en este caso la tarjeta de red rechaza estos datos, puesto que, aunque la MAC coincida, la dirección IP del atacante realmente es diferente a la del destino con el que la víctima quiere ponerse en contacto.

Es aquí donde entra en juego el modo promiscuo mencionado anteriormente. Si el atacante, además de enviar de forma regular paquetes de respuesta ARP especialmente manipulados (con una asociación falsa a la víctima) pone su tarjeta en modo promiscuo, puede ver la información que le llega y procesarla. En resumen: puede obtener la información que la víctima cree estar enviando a otro sistema.

ARP hijacking o proxying

En los casos descritos anteriormente, la víctima pierde la comunicación con el destino legítimo. Si el atacante desea realizar un ataque completo, debe además reenviar la información a ese destino legítimo. Este ordenador o dispositivo destino (podría tratarse de la puerta de enlace) cuando reciba la información, responde a la víctima de forma normal, solo que la información previamente ha sido procesada por el atacante.

Si además el atacante realiza el mismo tipo de ataque de envenenamiento ARP con el sistema destino de la víctima, el ataque se completa y obtiene la información que circula en ambos sentidos. Ni la víctima ni el sistema destino (que se convierte a su vez en una segunda víctima) detectan nada.

En resumen, el atacante debe realizar tres pasos:

  • Hacer creer a la víctima, que la MAC de la máquina con la que se quiere comunicar es la del atacante.
  • Hacer creer a la otra víctima (máquina destino) que la MAC de la máquina con la que se quiere comunicar es la del atacante.
  • Reenviar esta información a sus respectivos destinos una vez procesada por él.

Consejos de prevención

Existen numerosos métodos que se pueden aplicar en una red para prevenir que un atacante pueda llevar a cabo un ataque de envenenamiento ARP. Lo más efectivo es una adecuada combinación de todas ellas. A continuación se exponen algunos de los métodos preventivos más importantes.

  • Es posible indicar al sistema operativo que la información en la caché ARP es estática y por tanto, no debe ser actualizada con la información que le provenga de la red. Esto prevendrá el ataque, pero puede resultar problemático en redes donde se actualicen los sistemas conectados a la red de forma regular.
  • Los switch de gama alta, poseen funcionalidades específicas para prevenir este tipo de ataques. Es necesario configurarlos adecuadamente para que mantengan ellos mismos una asociación IP-MAC adecuada y prevengan estos ataques.
  • Una adecuada segmentación de las subredes con routers y redes virtuales (otra de las funcionalidades de algunos switch) es la mejor prevención.
  • Existen herramientas que permiten conocer si una tarjeta de red en una subred se encuentra en modo promiscuo. Esto puede indicar la existencia de un ataque de envenenamiento ARP.

Enlaces internos

Enlaces externos