Un ataque de hombre en el medio (MITM) es un ataque en el que un adversario se posiciona entre dos partes que se comunican para interceptar y posiblemente alterar los datos que pasan entre ellas. Un proxy retransmite el tráfico entre un cliente y un servidor por diseño, por lo que la confiabilidad del operador del proxy y si el tráfico está cifrado deciden cuánto de ese tráfico puede ser leído.

OWASP también llama a esto un ataque de manipulador en el medio. El atacante divide una conexión en dos, una hacia el cliente y otra hacia el servidor, y puede entonces leer, insertar y modificar datos. A través de HTTP sin cifrado, los encabezados viajan en texto claro, por lo que se puede leer una cookie de sesión a partir de ellos.

Riesgo de MITM en el Contexto del Proxy

  • HTTP sin cifrado: Cualquier cosa entre tú y el sitio, incluyendo un proxy, puede ver el contenido de la solicitud y la respuesta.
  • HTTPS a través de CONNECT: El cliente pide al proxy que abra un túnel, y el proxy reenvía ciegamente los datos en ambas direcciones. La sesión TLS se ejecuta de extremo a extremo entre el cliente y el sitio.
  • Intercepción de TLS: Herramientas como mitmproxy desencriptan HTTPS creando un certificado para cada sitio, firmado por su propia autoridad de certificación. Los clientes aceptan estos solo si confían en esa autoridad.
  • Advertencias: Los navegadores advierten cuando un certificado no es de confianza o es inválido. OWASP señala que los usuarios pueden ignorar estas advertencias.

Reducción del Riesgo de MITM

  • Usar HTTPS: Envía tráfico de scraping y de inicio de sesión a través de HTTPS, no HTTP sin cifrado.
  • Mantener las verificaciones de certificados activadas: No desactives la verificación de TLS en el código de scraping, y no instales certificados raíz que no controles.
  • HSTS: El encabezado Strict-Transport-Security hace que los navegadores actualicen un sitio a HTTPS y bloqueen el acceso en caso de errores de certificado. No protege la primera visita a menos que el sitio esté precargado.
  • Pinning: Las aplicaciones que fijan certificados rechazan certificados de intercepción como los de mitmproxy.

Técnicas Comunes de MITM

  • Wi-Fi malicioso: El atacante configura un punto de acceso inalámbrico en un lugar público, como un café o un aeropuerto. Cualquiera que se conecte puede tener todo el tráfico del navegador leído y modificado.
  • Suplantación ARP: El atacante engaña a la víctima para que acepte la dirección MAC del atacante como la dirección real del enrutador.
  • Suplantación DNS: El atacante redirige a la víctima a un sitio web falso.
  • Suplantación de dirección IP: El atacante hace que la víctima crea que está hablando con un servidor legítimo.

Términos Relacionados