Man in the Middle (MITM)

INDICE
¿Qué es un ataque Man in the Middle (MITM)?
Un ataque Man in the Middle (MITM), o “Hombre en el Medio” en español, es un tipo de ataque en el que un tercero intercepta, monitoriza o altera la comunicación entre dos partes (emisor y receptor) sin su conocimiento ni autorización. El atacante puede espiar la conversación, modificar los mensajes, o incluso falsificarlos, haciéndose pasar por uno de los interlocutores. El éxito del ataque depende de que el intruso permanezca sin ser detectado, de manera que las víctimas continúen su comunicación pensando que es segura.

Las redes inalámbricas son particularmente vulnerables a estos ataques, ya que la transmisión de datos por el aire facilita la interceptación. Los atacantes pueden usar técnicas como el ARP Spoofing o la creación de un punto de acceso falso (conocido como Evil Twin), donde configuran un router malicioso que se presenta como una red legítima. Los usuarios, al conectarse a este punto de acceso falso, exponen sus comunicaciones, que pueden ser interceptadas y manipuladas por el atacante sin que lo perciban. Este tipo de vulnerabilidad es especialmente riesgosa en redes públicas o abiertas, como las de cafeterías o aeropuertos, donde es más fácil implementar estos ataques.
Caso DigiNotar
Uno de los ataques Man in the Middle (MITM) más famosos a nivel mundial ocurrió en 2011 y afectó a la compañía holandesa DigiNotar, una Autoridad Certificadora (CA) que emitía certificados SSL/TLS.
El incidente comenzó cuando hackers iraníes lograron comprometer los servidores de DigiNotar y emitieron certificados fraudulentos para dominios muy importantes, incluyendo Google. Estos certificados permitían a los atacantes hacerse pasar por sitios legítimos y realizar ataques MITM a gran escala. Esto fue utilizado para espiar a los usuarios iraníes de Gmail, interceptando sus comunicaciones sin que ellos se dieran cuenta.
Consecuencias:
- Espionaje masivo: Se estima que decenas de miles de usuarios iraníes fueron víctimas de espionaje, al pensar que estaban conectados de forma segura a sitios como Google.
- Caída de DigiNotar: La credibilidad de DigiNotar como Autoridad Certificadora quedó completamente destruida, y la empresa quebró debido a la pérdida de confianza.
- Impacto global: Muchas empresas y navegadores dejaron de confiar en los certificados emitidos por DigiNotar, lo que llevó a una serie de revocaciones de certificados y un impacto en la seguridad digital global.
Este ataque es un ejemplo de cómo un ataque MITM puede ser devastador cuando se comprometen infraestructuras críticas como las Autoridades Certificadoras, exponiendo a miles de usuarios a la vigilancia y el robo de datos.
Ataques Pasivos
Los ataques pasivos se emplean para interceptar y recolectar información transmitida entre dos partes sin alterar ni afectar el funcionamiento ni los recursos de los sistemas involucrados. En estos ataques, el objetivo del atacante es exclusivamente espiar o monitorear la comunicación de manera no autorizada, con el fin de obtener datos sensibles, como credenciales, información personal o detalles confidenciales.
Dado que el atacante no interfiere ni modifica los datos en tránsito, estos ataques son extremadamente difíciles de detectar, ya que no dejan señales evidentes ni generan anomalías en el comportamiento de los sistemas.
Sniffing
El sniffing es un ataque pasivo en el que un atacante captura el trafico que circula entre los dispositivos. A diferencia de los ataques activos, el sniffing no modifica ni interfiere en la comunicación, solo se limita a la observación y recolección de datos e información. Se pueden llegar a obtener de esta manera datos sensibles como contraseñas, nombres de usuario, información financiera… etc.

Existen varias herramientas para realizar sniffing, algunas son:
- Wireshark: Wireshark es una herramienta de análisis de redes ampliamente utilizada para capturar y examinar el tráfico en tiempo real. Permite interceptar paquetes de datos y mostrar su contenido en detalle, lo que facilita la identificación de problemas o vulnerabilidades. Soporta una amplia variedad de protocolos y ofrece filtros avanzados para centrarse en información específica. Es muy útil para diagnosticar redes, detectar intrusiones y, en especial, realizar sniffing de manera efectiva. Su capacidad para analizar y desglosar el tráfico hace que sea una herramienta indispensable tanto para administradores de redes como para expertos en ciberseguridad.
- Tcpdump: Es una herramienta de linea de comandos, también especializada en el análisis de trafico y sniffing. Al igual que wireshark, permite mostrar los paquetes en tiempo real y guardarlos posteriormente, también es compatible con una amplia gama de protocolos y con potentes filtros para centrarse en IP, puertos, protocolos específicos. Esta herramienta es bastante valorada por su eficiencia, flexibilidad y bajo consumo de recursos. Es ideal para realizar análisis rápidos
Ataques Activos
En los ataques activos, los atacantes no solo interceptan las comunicaciones, sino que también alteran el tráfico, pudiendo suplantar identidades, reenviar paquetes o modificar mensajes. Estos ataques comprometen la integridad, confidencialidad y disponibilidad de los sistemas, y en algunos casos pueden provocar una denegación de servicio (DoS), interrumpiendo el acceso a servicios críticos. Al modificar o inyectar datos en la comunicación, los atacantes logran manipular el flujo de información y causar daños en las redes o sistemas afectados.
Podemos distinguir varios tipos de ataques que se clasifican como activos, entre ellos: la suplantación de identidad (spoofing), la repetición de mensajes (replay attacks) y la modificación de mensajes. Estos ataques implican la alteración directa de la comunicación.
ARP Spoofing
Este ataque es uno de los más básicos, pero puede ser el punto de partida para ataques más complejos como el Replay o la Modificación de mensajes. Para llevarlo a cabo, se puede utilizar la técnica conocida como Envenenamiento ARP. Este método consiste en corromper las tablas ARP de la víctima, enviando respuestas ARP(ARP Reply) falsas para asociar la dirección IP de un servidor o router con una dirección MAC falsa. De este modo, el atacante se hace pasar por el servidor o el router, permitiendo la interceptación, manipulación o redirección del tráfico de red.

Repetición o Replay
Un ataque MITM Replay tiene como objetivo capturar tokens de autenticación, cookies de sesión o credenciales, para luego reenviarlas y permitir que el atacante se autentique como un usuario legítimo. Este ataque es especialmente peligroso porque permite al atacante acceder a sistemas sin necesidad de descifrar la información, solo reutilizando los datos interceptados. Además, es efectivo contra sistemas que no implementan medidas de seguridad adicionales, como sellos de tiempo, tokens únicos o cifrado en capas, lo que lo hace más difícil de detectar si no se emplean contramedidas adecuadas.

Modificación de mansajes
Para realizar una modificación de paquetes, se puede emplear el ataque SSL Stripping. En este ataque, se intercepta la comunicación entre ambas partes para manipular las conexiones HTTPS. Cuando la víctima intenta establecer una conexión HTTPS, el atacante intercepta la respuesta del servidor, convierte la conexión HTTPS en una conexión HTTP no cifrada y la reenvía a la víctima. De este modo, la víctima introduce datos sensibles bajo la falsa creencia de que la conexión es segura, permitiendo que el atacante capture dicha información en texto claro.

Ejecución de ataques
A continuación, veremos ejemplos prácticos y detallados de algunos de los ataques mencionados anteriormente. Todas las pruebas se han realizado en un entorno controlado dentro de un laboratorio de prácticas, utilizando máquinas virtuales y equipos propios para garantizar la seguridad y el aprendizaje en condiciones seguras.
Sniffing con Whireshark
En esta practica el escenario será el siguiente:
- Atacante con Kali linux y con Whireshak instalado.
- Victima con Windows 11 entrando a un login HTTP (Protocolo sin cifrar))
- Dirección IP atacante: 192.168.1.5
- Direccion IP victima 192.168.1.4
Lo primero que haremos es iniciar Wireshark y configurar la captura en el adaptador de red deseado. En este caso, he creado una red NAT interna que conecta exclusivamente a ambos equipos (Windows 11 como víctima y Kali Linux como atacante). Con Wireshark en funcionamiento, podremos monitorear todo el tráfico de la red, esperando que la víctima acceda a un formulario de inicio de sesión HTTP.
Desde el lado de la víctima, accedemos a una página de prácticas en Acunetix con un formulario de login HTTP. Ingresamos como usuario: MITM y como contraseña: MITMcontraseña123, simulando credenciales para observar cómo viajan en la red, una vez hecho esto le damos a login.

Una vez que ya se ha enviado el usuario y contraseña al servidor por el protocolo HTTP, es otra de que el atacante revise los paquetes que ha generado Whireshark para encontrar las credenciales, para eso vamos a usar de el potente filtro que tiene esta herramienta y filtraremos por ‘http’. Y husmeando un poco lo encontraremos.

En resumen, en esta práctica hemos capturado credenciales que viajaban en texto claro a través del protocolo HTTP, utilizando Wireshark como herramienta de análisis. Para facilitar la búsqueda, aplicamos filtros específicos que nos permitieron localizar rápidamente el paquete deseado. Además de los paquetes HTTP, Wireshark nos permite interceptar otros protocolos no cifrados que transmiten información en texto claro, como por ejemplo:
- FTP (File Transfer Protocol)
- Telnet
- SMTP (Simple Mail Transfer Protocol)
- POP3 (Post Office Protocol v3)
ARP spoofing
En esta practica el escenario sera el siguiente:
- Atacante con Kali linux y con la herramienta arpspoofing instalada.
- Victima con Windows 11
- Dirección IP Router: 192.168.1.1
- Dirección IP victima 192.168.1.4
Lo primero que debemos hacer es habilitar el modo promiscuo en Kali Linux, lo cual nos permitirá reenviar los paquetes entre los equipos, es decir, redirigir el tráfico desde el equipo Windows al router y viceversa, pasando por nuestra máquina. Para activar esta opción, abrimos una terminal en Kali Linux y ejecutamos el siguiente comando: echo 1 > /proc/sys/net/ipv4/ip_forward. Esto habilitará el reenvío de paquetes en nuestra máquina, permitiéndonos realizar el ataque ARP Spoofing con éxito.
Una vez activado el reenvío de paquetes, abrimos dos terminales. En la primera, ejecutamos el siguiente comando: sudo arpspoof -i eth0 -t 192.168.1.4 192.168.1.1. En la segunda terminal, ejecutamos: sudo arpspoof -i eth0 -t 192.168.1.1 192.168.1.4.
Explicación de los comandos:
- Primer comando: arpspoof -i INTERFAZ_RED -t IP_VICTIMA IP_ROUTER (Envenenamos la tabla arp de la victima).
- Segundo comando: arpspoof -i INTERFAZ_RED -t IP_ROUTER IP_VICTIMA (Envenenamos la tabla arp del router).

Con esto realizado, las tablas ARP de los dispositivos objetivo quedan corrompidas, asignando la dirección MAC de la máquina Kali Linux tanto a la dirección IP del router como a la de la víctima. De esta forma, La maquina Kali se posiciona como intermediario en la comunicación. Por ejemplo, la tabla ARP de la víctima quedaría de la siguiente manera:
