← Todas las guías
RedesModelo + laboratorio defensivoIntermedio30 min

Man in the Middle: cómo se interpone un atacante y cómo detectarlo

Aprende a separar posición de red, suplantación y ruptura criptográfica; comprueba la validación TLS en un laboratorio local y correlaciona señales de gateway, DNS y certificados antes de responder.

1 · Qué significa estar en medio

Un ataque adversary-in-the-middle ocurre cuando una tercera parte logra situarse en el camino lógico entre dos extremos y puede observar, retransmitir o modificar su comunicación sin que ambos lo adviertan. La posición en la ruta no basta para leer HTTPS: el atacante también tendría que romper la autenticación del canal, conseguir que el usuario ignore un error o controlar una autoridad de confianza.

Modelo mental
Camino esperado: cliente ─────────────── servicioCon intermediario: cliente ── tercero ── servicioTLS válido: contenido cifrado + servidor autenticado

Escucha

El tercero observa metadatos o contenido que viaje sin cifrar. Es una capacidad posible, no la definición completa.

Suplantación

Cada extremo cree hablar con el otro. Puede afectar resolución local, nombres, rutas, proxies o confianza criptográfica.

Manipulación

El tercero cambia respuestas, redirecciones o datos en tránsito. La integridad y la autenticación buscan impedirlo.

2 · Dónde puede aparecer la intermediación

«MITM» describe una posición y una consecuencia, no una única técnica. Para investigar un caso, separa el nivel donde se altera el camino del control que debería protegerlo.

Red local · ARP o NDP

Una asociación falsa entre dirección lógica y física puede desviar tráfico dentro del mismo segmento. La inspección de vecinos aporta señales, no una prueba aislada.

Configuración · DHCP o proxy

Un gateway, DNS o proxy no esperado puede colocar un sistema ajeno en la ruta. Compara la configuración recibida con el inventario autorizado.

Nombres · DNS

Una respuesta manipulada puede llevar al cliente a otra dirección. HTTPS todavía debe validar que el certificado corresponde al nombre solicitado.

Acceso · Wi-Fi falso

Un punto de acceso que imita un SSID conocido controla el primer salto. No implica automáticamente que pueda descifrar un canal TLS válido.

Aplicación · proxy de sesión

Una página intermediaria puede engañar al usuario y retransmitir la autenticación en tiempo real. MFA reduce riesgo, pero los factores suplantables no siempre frenan el robo de sesión.

Confianza · certificado instalado

Un proxy corporativo autorizado puede inspeccionar TLS si el dispositivo confía en su CA. Fuera de ese contexto, una CA raíz inesperada es una señal crítica.

3 · Qué protege TLS y dónde termina su garantía

TLS 1.3 establece claves compartidas, cifra el canal, comprueba la integridad del handshake y autentica al servidor; el cliente es opcional. Para que esa autenticación sirva, el cliente debe validar la cadena de confianza, la vigencia y que el nombre solicitado aparezca en el certificado. El candado indica un canal válido hacia ese nombre: no demuestra que la organización detrás del sitio sea honesta.

  • HTTPS de extremo a servidor: protege el tramo entre cliente y origen TLS, salvo que exista un proxy confiado que termine el canal.
  • HSTS: ordena al navegador usar HTTPS y tratar los errores TLS como fatales para el host conocido; la precarga también protege el primer contacto.
  • Cifrado de extremo a extremo: mantiene el contenido cifrado hasta el destinatario final cuando el protocolo verifica correctamente sus claves.
  • VPN: cifra desde el dispositivo hasta la salida VPN. Reduce la exposición en la red local, pero traslada confianza al proveedor y no sustituye HTTPS.

4 · Laboratorio local: deja que TLS falle correctamente

Necesitas OpenSSL 1.1.1 o posterior y curl. Ejecuta el ejercicio en Linux o macOS; en Windows puedes usar una sesión WSL propia con esas herramientas. Comprueba que openssl version devuelve OpenSSL y no LibreSSL; macOS puede incluir LibreSSL como comando del sistema. El certificado y la clave solo sirven para este laboratorio local.

Terminal 1. Crea un certificado autofirmado de un día para localhost y levanta un servidor de prueba:

Terminal 1 · servidor TLS local
openssl versionmkdir mitm-lab && cd mitm-labopenssl req -x509 -newkey rsa:2048 -nodes -keyout lab-key.pem -out lab-cert.pem -days 1 -subj "/CN=localhost" -addext "subjectAltName=DNS:localhost,IP:127.0.0.1"openssl s_server -accept 127.0.0.1:8443 -cert lab-cert.pem -key lab-key.pem -www

Terminal 2. Intenta conectar sin añadir esa autoridad local:

Terminal 2 · validación esperada
curl -v https://localhost:8443/# Resultado esperado: error de verificación por certificado autofirmadocurl --cacert lab-cert.pem https://localhost:8443/# Resultado esperado: respuesta del servidor porque confías explícitamente en ese certificado

La primera petición falla aunque el canal pueda cifrarse: falta una ruta de confianza hacia el certificado. La segunda funciona porque --cacert añade confianza solo a esa ejecución. No has instalado una CA global ni desactivado la validación. Detén el servidor con Ctrl + C y elimina la carpeta de laboratorio cuando termines.

unknown option o getservbyname

La herramienta es antigua o es LibreSSL. Usa OpenSSL 1.1.1 o posterior dentro del laboratorio; no elimines el nombre alternativo ni expongas el servidor en otra interfaz.

address already in use

Otro proceso ocupa el puerto 8443. Detén ese proceso de laboratorio o elige otro puerto alto y úsalo en ambos terminales.

La primera petición funciona

Comprueba que no has instalado previamente el certificado y que curl no recibe una configuración global que omita la validación.

5 · Detectar: combina señales antes de concluir

Un MITM rara vez queda demostrado por una sola observación. Registra hora, red, interfaz, nombre solicitado, resolvedor, gateway y error exacto. Después compara desde otra conexión conocida y con el inventario del entorno. La lentitud, por sí sola, no es evidencia.

Linux · lectura de vecinos y ruta
ip route show defaultip neigh showresolvectl status
macOS · lectura de vecinos y DNS
route -n get defaultarp -anscutil --dns
Windows PowerShell · lectura de vecinos y DNS
Get-NetRoute -DestinationPrefix '0.0.0.0/0'Get-NetNeighbor -AddressFamily IPv4Get-DnsClientServerAddress -AddressFamily IPv4
  • La puerta de enlace y el resolvedor coinciden con la configuración autorizada
  • La MAC del gateway no cambia de forma inexplicable durante el incidente
  • El certificado presenta el nombre, emisor y vigencia esperados
  • El navegador no muestra degradación a HTTP, contenido mixto ni avisos TLS
  • La misma consulta se compara desde una segunda red conocida
  • Los cambios se correlacionan con logs de DHCP, DNS, proxy, Wi-Fi y switches

6 · Prevenir y responder sin destruir evidencia

  1. En el endpoint: mantén sistema y navegador actualizados, no instales CA desconocidas, usa HTTPS y verifica alertas antes de autenticarte.
  2. En la aplicación: aplica TLS moderno en todas las rutas, HSTS, cookies Secure, validación estricta de certificados y MFA resistente al phishing cuando el riesgo lo exija.
  3. En la red: segmenta, protege la administración, usa 802.1X cuando proceda y activa controles como DHCP Snooping y Dynamic ARP Inspection en equipos compatibles.
  4. Si sospechas un incidente: deja de introducir secretos, desconecta esa red, conserva capturas y mensajes, informa al responsable y revoca sesiones desde un canal limpio.
  5. Después: rota credenciales solo desde un dispositivo y red confiables, revisa CA instaladas, perfiles, proxy, DNS y accesos recientes; documenta qué señal confirmó o descartó la hipótesis.

Glosario

Man in the Middle (MitM)

Posición desde la que un tercero puede observar o alterar una comunicación entre dos extremos.

ARP spoofing

Suplantación de asociaciones IP y MAC dentro de una red local para desviar tráfico.

Validación TLS

Comprobación de identidad, vigencia, cadena y nombre del certificado presentado por el servidor.

HSTS

Política del navegador que obliga a usar HTTPS para un origen durante un periodo definido.

Huella de certificado

Resumen criptográfico que permite comparar un certificado concreto con una referencia confiable.

Ver más guías
Man in the Middle: cómo se interpone un atacante y cómo detectarlo | Cubix Academia