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 switches y no en hubs), que puede permitir al atacante leer paquetes de datos en la LAN (red de área local), modificar el tráfico, o incluso detenerlo. Una trama modificada tendría una dirección MAC falsa para engañar a los dispositivos conectados a la red.
ARP
ARP es un protocolo de la capa 2 (enlace). Tanto los paquetes “ARP request” como los “ARP reply” pueden ser tráfico de difusión (broadcast). Como tales, no están diseñados para proporcionar ninguna validación de identificación en la transacción. Aunque el ARP Spoofing se puede ejecutar en el transcurso de transacciones ARP, creando una condición de carrera, el uso más común es la distribución de respuestas ARP no solicitadas, que son almacenadas por los clientes en sus caches ARP, generando de esta manera el escenario “ARP Cache Poison”, o caches ARP envenenadas.
PROCESO DE ENVENENAMIENTO
El protocolo ARP tiene ciertas carencias que facilitan el uso ilegítimo del mismo para recibir tráfico ajeno. En particular, en el caso que nos ocupa, resultan clave las siguientes características:
Ausencia absoluta de autenticación en el protocolo. Una máquina modificará su comportamiento acorde con los paquetes ARP recibidos, sin poder determinar de ningún modo la autenticidad de los mismos.
Cachés sujetas a alteraciones externas. Es posible modificar los contenidos de una caché ARP tan sólo con construir y enviar una petición o respuesta adecuada.
Actualización de las cachés a iniciativa externa. Con la técnica de ARP gratuito, una máquina puede actualizar las cachés ARP del resto en cualquier momento.
Precisamente de estas características nos aprovecharemos en la técnica del envenenamiento ARP o ARP spoofing para recibir tráfico ajeno en una red construida con conmutadores. Se basa en ``envenenar'' la caché ARP de los dos nodos cuya comunicación queremos intervenir con información falsa, haciéndoles creer que su interlocutor es la máquina atacante. De esta forma, el tráfico generado entre ambas máquinas tiene como destino nuestra propia máquina, y desde ésta las tramas son reenviadas al destino real, evitando así la detección del ataque. Más en detalle, un ataque de envenenamiento ARP se produce en las siguientes condiciones:
La máquina atacante, conociendo las direcciones IP de los dos nodos cuyas comunicaciones se quieren intervenir, resuelve mediante ARP, si es necesario, las direcciones MAC que les corresponden.
Bien mediante respuestas ARP o mediante la técnica de ARP gratuito, el atacante modifica el contenido de las cachés de las víctimas de forma que para la dirección IP de su interlocutor se corresponda la dirección MAC real del atacante.
Cada vez que alguno de los nodos quiera enviar información al otro, resolverá la dirección MAC del mismo mediante su caché de ARP previamente envenenada, enviando así el tráfico al atacante en vez de al destinatario real.
El switch enviará las tramas por la boca del destinatario, que en este caso es el atacante. Éste las recibirá y las pasará a la aplicación adecuada, que puede ser un sniffer que capture todo el tráfico. Al estar todas las tramas destinadas a su dirección MAC, no es necesario que la tarjeta de red se encuentre en modo promíscuo.
El atacante reenviará el contenido de las tramas al destinatario real. La única diferencia entre la trama original y la modificada es, en un principio, la dirección ethernet del destinatario, que varía de la del atacante a la de una de las víctimas.
El nodo correspondiente recibirá el tráfico como si nada hubiese ocurrido. El atacante, haciendo uso del envenenamiento ARP y la técnica del hombre en el medio o man in the middle ha interceptado el tráfico sin que ninguno de los interlocutores se percate.
HERRAMIENTAS DE ATAQUE
Cain&Abel
dsniff
es un conjunto de herramientas para la auditoría de redes de cualquier tipo, incluyendo aquellas construidas con conmutadores. Algunas de sus características más llamativas incluyen la intercepción de tráfico cifrado con los protocolos HTTPS (HTTP Secure) y SSHv1 (Secure SHell), aprovechando la debilidad de los mismos a la hora de establecer contextos de seguridad basados en una infraestructura de clave pública (PKI).
El uso es bastante sencillo. En primer lugar habilitamos el encaminamiento en el núcleo del sistema:
# echo 1 > \
> /proc/sys/net/ipv4/ip_forward
A continuación modificamos las tablas ARP de los dos nodos que deseamos intervenir:
# arpspoof -i eth0 192.168.0.1 \
> -t 192.168.0.35
# arpspoof -i eth0 192.168.0.35 \
> -t 192.168.0.1
Por último arrancamos dsniff indicándole que recomponga el tráfico de red en caso de estar interviniendo una comunicación con la puerta de enlace del segmento de red:
# dsniff -c -m -i eth0
dsniff capturará todos los paquetes intercambiados por los nodos, detectando automáticamente los protocolos utilizados, y extrayendo contraseñas siempre que sea posible. Si consultamos las tablas ARP de cada una de las víctimas mientras se está produciendo el ataque, observaremos que la dirección MAC que contienen para el otro nodo ha cambiado a la de la máquina atacante. En [5] se puede ampliar información sobre este potente conjunto de programas.
arp-sk
se define por sus propios autores como una ``navaja suiza'' para ARP. Se trata de un generador de paquetes ARP que permite casi cualquier uso posible del protocolo para realizar numerosos ataques, no sólo aquellos basados en el envenenamiento de cachés. Desde suplantaciones más elaboradas, hasta denegaciones de servicio a una máquina o incluso toda la subred. En [6] se incluye una guía básica de los usos posibles de arp-sk.
arp-tool
es un sencillo programa para plataformas UNIX que permite realizar envenenamientos de cachés ARP y otras manipulaciones construyendo paquetes personalizados. Se ha hecho muy famoso al ser incluido junto a un exploit que permite la obtención de contraseñas de los usuarios de los servicios Hotmail y Messenger de Microsoft, así como la denegación de servicio de los clientes o la instalación en los mismos de software no deseado. Más información en [7].
arpoison
es otra herramienta para construir paquetes ARP personalizados que permitan realizar ataques de envenenamiento de cachés o similares. Su principal ventaja reside en la posibilidad de ajustar el número de paquetes y el lapso de tiempo entre los mismos a los parámetros que mejor se ajusten a la red que estamos analizando.
ettercap
es la herramienta por excelencia para realizar ataques de tipo man in the middle, utilizando ARP spoofing y otras sofisticadas técnicas. Permite la monitorización y filtrado del tráfico de una red o entre dos nodos de la misma, incluyendo la disección tanto activa como pasiva de múltiples protocolos. Al igual que dsniff o Cain & Abel, es capaz de extraer información sensible del tráfico analizado. Está disponible para múltiples plataformas (tanto UNIX como Windows) y provee además varias interfaces de uso diferentes, para adaptarse a las circunstancias de la mejor forma posible.
ettercap es capaz de intervenir comunicaciones cifradas bajo SSL en protocolos como HTTPS o SSHv1, lo que lo convierte en una herramienta muy polivalente y ampliamente utilizada. Incluye la posibilidad de realizar ataques de envenenamiento de DHCP, robo de puertos o redirecciones ICMP, así como el descubrimiento preciso de una red de ordenadores. Por si todas estas características no fuesen suficientes, implementa una arquitectura escalable por medio de plugins que permite ampliar su funcionalidad. En [8] se encuentra toda la información relativa a este excelente programa de auditoría y análisis de redes informáticas.
DEFENSAS DEL ENVENENAMIENTO O SPOOFING
Un método para prevenir el ARP Spoofing, es el uso de tablas ARP estáticas, es decir añadir entradas estáticas ARP, de forma que no existe caché dinámica, cada entrada de la tabla mapea una dirección MAC con su correspondiente dirección IP. Sin embargo, esta no es una solución práctica, sobre todo en redes grandes, debido al enorme esfuerzo necesario para mantener las tablas ARP actualizadas: cada vez que se cambie la dirección IP de un equipo, es necesario actualizar todas las tablas de todos los equipos de la red.
Por lo tanto, en redes grandes es preferible usar otro método: el DHCP snooping. Mediante DHCP, el dispositivo de red mantiene un registro de las direcciones MAC que están conectadas a cada puerto, de modo que rápidamente detecta si se recibe una suplantación ARP. Este método es implementado en el equipamiento de red de fabricantes como Cisco, Extreme Networks y Allied Telesis.
Otra forma de defenderse contra el ARP Spoofing, es detectarlo. Arpwatch es un programa Unix que escucha respuestas ARP en la red, y envía una notificación vía correo electrónico al administrador de la red, cuando una entrada ARP cambia.
Comprobar la existencia de direcciones MAC clonadas (correspondientes a distintas direcciones IP) puede ser también un indicio de la presencia de ARP Spoofing, aunque hay que tener en cuenta, que hay usos legítimos de la clonación de direcciones MAC.
RARP (“Reverse ARP”, o ARP inverso) es el protocolo usado para consultar, a partir de una dirección MAC, su dirección IP correspondiente. Si ante una consulta, RARP devuelve más de una dirección IP, significa que esa dirección MAC ha sido clonada.
No hay comentarios:
Publicar un comentario