Parte: 1 — Redes y seguridad de redes · Fuente: OWASP; documentación de bettercap y mitmproxy ⏱️ Duración estimada: 130 min · Nivel: Avanzado
Integrar lo aprendido en un ataque Man-in-the-Middle completo: posicionamiento (ARP/DNS spoofing, rogue gateway), interceptación de tráfico, intentos de degradación de TLS y, sobre todo, las defensas que lo derrotan (HSTS, certificate pinning, cifrado extremo a extremo, DAI). El énfasis es entender el ataque para saber defender.
Al finalizar, el alumno podrá:
| # | Tema | Por qué importa |
|---|---|---|
| 1 | Anatomía del MitM | Marco mental del ataque |
| 2 | Posicionamiento (ARP, DNS, rogue AP) | Cómo se interpone el atacante |
| 3 | Interceptación con proxy transparente | Ver y modificar el tráfico |
| 4 | SSL stripping y su mitigación | El punto débil histórico |
| 5 | HSTS, pinning, E2E | Defensas efectivas |
| 6 | Indicadores y detección | Reconocer un MitM |
| 7 | Redes no confiables | Riesgo real cotidiano |
⚠️ Nota ética: el MitM intercepta comunicaciones de terceros; hacerlo sin autorización es un delito grave. Practica solo contra tus propias máquinas y servicios en un laboratorio aislado. El objetivo formativo es defensivo: entender el ataque para neutralizarlo.
bash
sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
mitmproxy --mode transparent --listen-port 8080
Navega desde la víctima a tu servidor HTTP de laboratorio y observa/modifica las peticiones. 3. Prueba SSL stripping contra el servidor sin HSTS y observa que la conexión cae a HTTP. 4. Repite contra el servidor con HSTS y comprueba que el navegador rechaza el downgrade: el ataque falla. 5. Verifica el cifrado: en Wireshark, confirma que el tráfico HTTPS con TLS bien configurado es opaco para el atacante. 6. Certificado falso: intenta un MitM sobre HTTPS presentando un certificado no confiable y observa la advertencia del navegador (defensa por la cadena de confianza). 7. Defensa de red: activa DAI/ARP estático (clase 039) y demuestra que ya no puedes posicionarte.
preload en tu servidor y verifica la cabecera con curl -I.Monta en laboratorio un escenario MitM contra dos versiones de tu propio sitio: una vulnerable (HTTP/sin HSTS) y otra endurecida (HTTPS + HSTS). Demuestra que puedes interceptar/modificar la primera y que la segunda resiste el ataque. Entrega capturas, la configuración de HSTS y una conclusión sobre qué defensa fue decisiva.
Criterio de aceptación: evidencias claras de intercepción exitosa en la versión vulnerable y de fallo del ataque en la endurecida, con explicación correcta del mecanismo defensivo (HSTS impide el downgrade; TLS válido impide leer el contenido).
| Síntoma / mensaje | Causa y cómo arreglar |
|---|---|
| mitmproxy no ve tráfico | Falta el REDIRECT de iptables o ip_forward; revisa NAT y reenvío |
| El navegador muestra advertencia de certificado | Es la defensa funcionando; sin la CA del atacante instalada, TLS rechaza el MitM |
| SSL stripping no funciona | El sitio usa HSTS/preload; ese es precisamente el resultado esperado |
| La víctima pierde conexión | Reenvío mal configurado; verifica que retransmites el tráfico interceptado |
| No puedes modificar HTTPS | El cifrado lo impide sin un certificado de confianza; no es un fallo, es seguridad |
❓ ¿HTTPS elimina el riesgo de MitM? Lo reduce enormemente si está bien implementado (certificados válidos, HSTS, TLS moderno). El riesgo residual viene de usuarios que ignoran advertencias o de CAs comprometidas; el pinning cubre esos casos.
❓ ¿Qué es exactamente SSL stripping? Un ataque que impide que la víctima llegue a establecer HTTPS, manteniéndola en HTTP con el atacante en medio. HSTS lo neutraliza porque el navegador exige HTTPS de antemano.
❓ ¿Cómo detecto que soy víctima de un MitM? Advertencias de certificado inesperadas, cambios en la MAC del gateway, degradación a HTTP en sitios que deberían ser HTTPS, o certificados emitidos por CAs raras.
❓ ¿La mejor defensa personal en WiFi público? Usar siempre HTTPS/HSTS, una VPN de confianza y evitar aceptar certificados o instalar CAs que te pidan redes desconocidas.
Clase 039 — Ataques de capa 2: ARP spoofing y VLAN hopping
Clase 041 — Seguridad de DNS: envenenamiento, DNSSEC y tunneling