¿Podría MITM manipular la opción X-Frame

1

Me preguntaba si el siguiente escenario se podía alcanzar de manera realista.

Tenemos una red con una computadora que usa Bob. Él es una persona consciente de la seguridad y utiliza un administrador de contraseñas. Su computadora está conectada a Internet a través de un enrutador que Bob obtuvo de su ISP. El ISP y el fabricante del enrutador no han implementado actualizaciones para las vulnerabilidades críticas que tiene su enrutador.
Luego está Trudy, que realmente quiere saber las contraseñas de Bobs. Ella obtiene acceso completo a su enrutador a través de una hazaña. Hay un par de sitios web que le interesan, por lo que manipula las entradas de DNS para que apunten a un servidor web bajo su control. Como Trudy tiene mucho tiempo, se asume que la caché de DNS de la computadora de Bob se actualizará para contener las entradas manipuladas.

Bob se conecta a un sitio web en el que está interesado Trudy. Cree que está estableciendo una conexión con https://www.safewebsite.com , pero en realidad se está conectando al servidor web de Trudy. El servidor web baja la conexión a http simple, solo para establecer la conexión. Luego, el servidor web realiza una redirección a la URL real de sí mismo, por ejemplo. https://safewebsite.evil.com para el que Trudy tiene un certificado SSL válido (simple). Suponiendo que Bob no mira demasiado de cerca, no ve la diferencia en la barra de direcciones.

Como alternativa, Trudy consigue que Bob visite su servidor web de una manera que no active una excepción de certificado no válida.

Lo que Trudy debe hacer para extraer la contraseña de Bobs es incrustar el sitio web válido que Bob quería visitar. Esto también es menos trabajo para Trudy, ya que no quiere codificar un sitio web de phishing, sino que quiere engañar al administrador de contraseñas de Bob. Cuando Bob visita el sitio web malicioso de Trudy, el administrador de contraseñas ingresa sus credenciales en el sitio web incorporado, porque cree que esta es una conexión válida. Luego, una secuencia de comandos del sitio web de Trudy toma el contenido del campo de contraseña y el nombre de usuario, y los envía al servidor web.

Ahora Trudy tiene algo con lo que está luchando, muchos sitios web tienen la opción x-frame configurada para negar. Esto frustra el intento de Trudy en muchos casos. Tiene la idea de dejar que el Router huela para los paquetes que contengan la opción x-frame. Entonces sería modificado o eliminado. Entonces, si Bob visita el sitio web malicioso de Trudy, solicita el sitio web real incorporado y el enrutador realiza un MITM activo. Esto significa que el enrutador se conecta a https://www.safewebsite.com y solo le da a Bob la versión http. Bob todavía vería el https://safewebsite.evil.com , sin indicar un cambio visual en comparación con la versión anterior del ataque. La pregunta es si el enrutador podría eliminar o modificar la opción x-frame de una manera que no afecte la experiencia de navegación de Bob.

Esperemos que la idea sea clara. Si ve algo que no es realista, por favor deje un comentario. Tal vez tengas una idea aún más sencilla de cómo lograr esto.

Este es un escenario de ataque contra un administrador de contraseñas específico (que no se nombrará aquí) que me gustaría usar en una presentación para un curso en la universidad, pero solo si es plausible.

Actualizar
A pesar de que lo supe y lo he pensado varias veces, la idea escrita anterior tiene un defecto crucial, www.safewebsite.com tendría que cargarse como https; de lo contrario, el administrador de contraseñas no llenaría los datos. Trabajaré en el escenario y publicaré una versión actualizada.

Actualización 2
Parece que el administrador de contraseñas tiene un problema de seguridad al completar las credenciales en iframes. Sin embargo, el escenario es defectuoso y las respuestas son correctas para la pregunta original. Si el nuevo escenario funciona, primero me pondré en contacto con los desarrolladores y, posteriormente, lanzaré más información sobre el problema.

    
pregunta John 06.11.2015 - 20:31
fuente

3 respuestas

3

A través de HTTP, un MITM podría manipular cualquier encabezado de solicitud.

A través de HTTPS, un MITM NO podría hacer eso sin tener un certificado válido o generar una advertencia de certificado en el navegador de Bob.

www.safewebsite.com podría mitigar algunas partes de este ataque mediante el uso de HSTS, que le indicaría al navegador de Bob que solo visite SSL después de la conexión inicial. El sitio también podría rechazar las solicitudes POST a través de HTTP (pero eso no impediría que el navegador de Bob las envíe).

    
respondido por el u2702 06.11.2015 - 20:37
fuente
1

El ataque funciona, siempre que 3 cosas sean ciertas:

1: el administrador de contraseñas no verifica https / http en la página del formulario de inicio de sesión. (o que el formulario es realmente un formulario HTTP POSTADO a través de una conexión HTTPS)

2: el administrador de contraseñas no usa la URL del marco superior (URL visible) como URL de autenticación / activación.

3: el administrador de contraseñas no envía los detalles directamente, sino que los completa. (Algunos administradores de contraseñas POSTENEN una "copia" del formulario directamente en lugar de completar los detalles en pantalla, incluso si se ve visualmente así: algunos administradores de contraseñas lo indican con un ícono de candado a la derecha del campo nombre de usuario / contraseña Los otros campos, como los tokens captcha o CSRF, se envían al administrador de contraseñas para incluirlos en la POST (esta es una función de seguridad para evitar los registradores de pulsaciones).

Sin embargo, el ataque de degradación del que está hablando podría, por supuesto, desencadenar una advertencia HTTPS. La única forma de degradar el ataque sería si el cliente visita inicialmente un recurso HTTP, puede eliminar HTTPS de cualquier enlace o formulario. Puede esperar que el usuario haga clic en cualquiera de las advertencias de HTTPS, o podría bloquear las conexiones de HTTPS al sitio web seguro para que el usuario pueda probar "HTTP" y ver si eso soluciona el problema.

    
respondido por el sebastian nielsen 06.11.2015 - 21:31
fuente
0

Dudo que el ataque sea factible, no por la eliminación de X-Frame-Option, sino por lo siguiente:

  

Cuando Bob visita el sitio web malicioso de Trudy, el administrador de contraseñas ingresa sus credenciales en el sitio web incorporado, porque cree que esta es una conexión válida. Luego, una secuencia de comandos del sitio web de Trudy toma el contenido del campo de contraseña y el nombre de usuario, y los envía al servidor web.

Por "incrustar" supongo que te refieres a poner un <iframe> ? Entonces, ¿cómo tomaría el script del sitio web de Trudy el contenido del campo de contraseña? La política del mismo origen prohibiría que la secuencia de comandos lea el contenido del <iframe> , incluido el campo de contraseña rellenado.

    
respondido por el alech 15.04.2017 - 13:09
fuente

Lea otras preguntas en las etiquetas