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.
Camino esperado: cliente ─────────────── servicioCon intermediario: cliente ── tercero ── servicioTLS válido: contenido cifrado + servidor autenticadoEscucha
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:
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 -wwwTerminal 2. Intenta conectar sin añadir esa autoridad local:
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 certificadoLa 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.
ip route show defaultip neigh showresolvectl statusroute -n get defaultarp -anscutil --dnsGet-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
- En el endpoint: mantén sistema y navegador actualizados, no instales CA desconocidas, usa HTTPS y verifica alertas antes de autenticarte.
- 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. - 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.
- 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.
- 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.