

¡Hola de nuevo, lectores!
En el artículo de hoy, presentaremos una explicación detallada sobre cómo funciona el envenenamiento ARP (Address Resolution Protocol), un ataque informático en el que un atacante envía paquetes de respuesta ARP falsos a una red con el objetivo de asociar su propia dirección MAC con la dirección IP de otro dispositivo legítimo de la red.
Para ello, nos basaremos en que el atacante emplea una máquina con sistema operativo Kali Linux y sus víctimas son dos máquinas Ubuntu, la primera será la que va a ser suplantada mediante envenenamiento ARP y la segunda será desde la que se va a enviar un mensaje a la primera, el cual, será interceptado. Además, también aprenderemos a protegernos frente a este tipo de ataques con el fin de evitar que puedan comprometer la seguridad de nuestra red.
ARP (Address resolution protocol) es un protocolo de comunicaciones para traducir las direcciones IP o direcciones lógicas a direcciones MAC o direcciones físicas que opera en capa de enlace de datos o capa 2 de modelo OSI. Los ordenadores o dispositivos tipo host, los routers y otros dispositivos de red, disponen de unas tablas que llamamos “tablas ARP”, donde relacionan las direcciones MAC e IP, para facilitar la comunicación en capa 3 del modelo OSI.
Esta tabla entra en acción en los siguientes casos:
El envenenamiento funciona por diseño y arquitectura de la red, basados en estándares 802.3 (wired) y 802.11 (wireless), pertenece a la capa 2 o de enlace de datos. ARP utilizaría una trama dentro de estos estándares para proporcionar la información necesaria para que exista comunicación a nivel IP dentro de la red, evitando flood en la capa 2. Al no existir un control implementado en estas tramas, el atacante puede enviar (envía) paquetes ARP a la red con el fin de actualizar la tabla ARP, y engañar a los hosts víctima cambiando la dirección IP y asociarla a su propia MAC. De esta forma, se produce un ataque tipo MITM (man in the middle) en capa 2, consiguiendo que los paquetes pasen de forma dirigida por el atacante.
¿Qué se consigue a nivel práctico con este tipo de ataque? El envenenamiento ARP puede permitir que un atacante intercepte y acceda a los datos de la red, incluyendo contraseñas, correos electrónicos, archivos compartidos y otros datos confidenciales que se intercambian en páginas web, aplicaciones bancarias, software de mensajería… si bien, para algunos casos, se requiere implementar otras técnicas para conseguir que el engaño tenga total éxito, esto no sería mayor problema, pero eso es otro capítulo.
En realidad, defenderse de este tipo de ataques no es algo trivial, algo de lo que podamos defendernos con prácticas habituales. En el fondo, cualquier usuario puede estar expuesto a un ataque de este tipo en la gran mayoría de los casos. Aunque sufrirlo no es lo normal ni tampoco habitual en entornos de confianza (como puede ser tu propia casa), por la complejidad que requiere hacer este tipo de ataques y su efectividad. Donde sí es habitual, es en entornos empresariales donde el acceso a la red es relativamente sencillo, o redes públicas (como la wifi del aeropuerto, o la cafetería). Allí los atacantes siempre encuentran víctimas fáciles.
Debemos separar varias perspectivas de cara a la prevención y contención de un ataque como este: la de los usuarios, y la de los administradores de seguridad y redes.
¿Qué puede hacer un usuario para reducir el impacto que podría tener sufrir un ataque como este?
¿Y en el entorno empresarial?
Los administradores de red y seguridad tienen mucho que hacer para evitar este tipo de ataques. Las redes corporativas son muy complejas, y los ataques se realizan desde dentro de la red, por tanto, el administrador tendrá varios desafíos:
Mecanismos para evitar intrusiones a la red de un atacante:
De esta manera, conseguimos que un atacante necesite robar credenciales para poder acceder, y disponer de un segundo factor, que, si está bien implementado y configurado, hará que el atacante tenga que esforzarse más.
Mecanismos para evitar intrusiones vía malware:
Hasta aquí, las recomendaciones son muy generales y evidentes. Pero realmente con esto solo conseguimos que el atacante lo tenga más difícil para conseguir entrar. Ahora nos metemos con los verdaderos desafíos, que vienen cuando tenemos a un atacante en la red y necesitamos poder prevenir, detectar y parar el ataque en caso de que se produzca.
Recomendaciones poco escalables, que dan demasiado trabajo de mantenimiento y que no evitan el ataque en todos los casos:
Recomendaciones efectivas y profesionales
Aunque no existe un mecanismo infalible, sí que existen soluciones de nivel profesional que realmente son efectivas, pero requieren de inversiones de infraestructura importantes y que siempre es necesario valorar en su contexto.
Hagamos algo de laboratorio…
Existen programas para hacer o monitorear ARP Spoofing y poder para realizar pruebas de seguridad y verificar la debilidad de los puntos instalados como, por ejemplo:
En la figura se muestra el esquema del ejercicio práctico que se va a realizar. El atacante emplea una máquina con sistema operativo Kali Linux con IP 10.0.2.4 y sus víctimas son dos máquinas Ubuntu, la primera -victima 1- será la que va a ser suplantada mediante envenenamiento ARP y la segunda -victima 2- es desde la que se va a enviar un mensaje a víctima 1; y dicho mensaje va a ser interceptado.
Para comenzar el ejercicio, primero debemos conocer nuestra IP como atacante:
Después, vamos a buscar máquinas en la red con la herramienta Nmap ignorando nuestra IP para obtener los resultados de las máquinas restantes con el siguiente comando:
Nos aparece que hay dos equipos con las IPS: 10.0.2.5 y 10.0.2.15 y la puerta de enlace 10.0.2.1.
Esta última nos coincide con la máquina Ubuntu que tenemos levantada para el ejercicio y será nuestra víctima 1.
Le damos un ping a la IP 10.0.2.15 (víctima 1) y abrimos Wireshark en modo ARP
Y podemos ver en los paquetes la dirección MAC 08:00:27:43:94:97 que coincide con la MAC de la víctima.
Miramos la caché ARP donde ha aprendido que la IP 10.0.2.15 tiene la MAC 08:00:27:43:94:97
Con la herramienta Ettercap escaneamos los hosts disponibles
Añadimos nuestra víctima 1 a Target1 y nuestra víctima 2 a Target2
Y procedemos al envenenamiento de la tabla ARP, pulsando sobre MITM y ARP poisoning
Marcamos la opción de interceptar conexiones remotas;
Chequeamos el estado con el plugin
Podemos ver en Wireshark que se está redirigiendo el tráfico:
Cambiamos para poder recibir paquetes en nuestra máquina atacante el valor de 0 a 1:
Ahora vamos a emular un proceso de conexión telnet desde nuestra máquina víctima 2 a nuestra víctima 1, el cual va a ser interceptado. Abrimos telnet y nos conectamos a la IP víctima 1 desde la víctima 2. Este proceso es de texto en plano, por lo que será fácil de descifrar.
Ponemos las credenciales que serán interceptadas de usuario y contraseña, como haríamos en un login normal de Telnet.
Abrimos de nuevo Wireshark en la máquina atacante para comprobar el flujo entre las víctimas
Analizamos el flujo TCP
Podemos comprobar que hubo una conexión telnet entre las víctimas y ver la contraseña que se envió en texto plano.
Para demostrar que el ataque es por envenenamiento ARP podemos comprobar la tabla de ARP y ver que las IPS 10.0.2.4 (atacante) y 10.0.2.15 (victima1) coinciden en la MAC del atacante
A modo de resumen, las herramientas usadas son Nmap para rastrear IPs, Wireshark para ver el tráfico y Ettercap para suplantar la MAC, todas incluidas en el sistema de Kali Linux.
Este tipo de ataque puede tener graves consecuencias en términos de seguridad de la red y la privacidad de los usuarios. Puede resultar en la exposición de datos confidenciales, la pérdida de la integridad de los datos y el acceso no autorizado a sistemas y recursos de la red. Por lo tanto, es importante tomar medidas para protegerse contra este tipo de ataques, como las descritas anteriormente, pero sobre todo no conectarse a redes no seguras ni enviar información no cifrada.
¡Y hasta aquí el artículo sobre envenenamiento ARP!
No dudéis en compartirlo para que llegue a más personas! :)
¡Nos leemos en el siguiente artículo!