14 jul. 2016

HSTS: cómo saltear HTTPS en la práctica (y II)


El investigador José Selvi de Pentester.es demostró como mediante un ataque al tiempo de los equipos podríamos hacer caducar las entradas HSTS en el navegador, por lo que se tendría que hacer de nuevo una petición por HTTP. Selvi llamó a esto ataque Delorean (GitHub). Es cierto que conseguir cambiar el tiempo de una máquina remota no es sencillo, aunque depende un poco del caso. Selvi enseñó en una de sus charlas como en el caso de Ubuntu o Fedora se podía aprovechar el acceso de este sistema operativo a la red para interceptar la petición NTP que se genera. El protocolo NTP permite sincronizar los tiempos de una máquina.

Entonces, con un ataque ARP Spoofing básico, SSL Strip2 y Delorean podemos:
  • Colocarnos en medio de la comunicación.
  • Interceptar las peticiones NTP y modificarlas, por ejemplo diciendo al sistema que se encuentra en 2 o 3 años adelante.
  • Visualizar las claves.
Aparte de mantener la aplicación MITMf con la configuración anterior, habrá que lanzar la herramienta Delorean e incluir una regla en iptables. La regla en iptables es la siguiente:
iptables –t nat –A  PREROUTING –i [interfaz de red] –p udp –s [red origen]
! –d [red  destino] –dport 123 –j REDIRECT –to-port 123
La máquina víctima es un Ubuntu, el cual podría ser echado de una red WiFi mediante un ataque de desautenticación. Otro ataque posible sería el de colocar una WiFi abierta y esperar a que un sistema Ubuntu se conectara. En ese instante, el sistema realizará una petición NTP que puede ser interceptada por nosotros y modificada con Delorean.
Como se puede ver en la siguiente imagen correspondiente al sistema Ubuntu, el tiempo ha cambiado. Nos hemos ido al futuro, concretamente al año 2019, al mes de Enero. Ver video.
Ahora, si desde Ubuntu accediéramos al navegador y navegásemos a dominios como GMail o Facebook seríamos vulnerables y con SSLStrip 2 nos podrían robar las credenciales. En el caso de Twitter no, porque deberíamos viajar en el tiempo 20 años, ya que el max-age que la empresa del pájaro azul impone son más de 20 años.

En la siguiente imagen se puede ver como se accede a GMail y no se está haciendo a través de HTTPs. Esto es debido a que las entradas HSTS caducaron en la caché del navegador y se realizó la petición por HTTP. Como mucha gente puede pensar, en un entorno real, esto haría saltar alarmas, ya que modificar 2 o 3 años la fecha de un equipo puede provocar que los certificados caduquen y salten alarmas en la máquina.
El HSTS es una medida a día de hoy bastante segura, y aunque existen técnicas para bypassearla, no es algo sencillo. Es cierto que hay muchos sitios, incluidos bancos, que no utilizan HSTS a día de hoy, pero cada vez van siendo más los que se decantan por la sencillez de HSTS y por el potencial que tiene.

Fuente: Flu-Project

4 comentarios:

  1. Saludos, este metodo ya no funciona al menos hasta donde yo lo he probado ya que cuando la aplicación envia otra fecha a la real para que caduquen los certificados el propio navegador te manda una alerta y no te deja seguir navegando, por ahora lo unico que sirve es el en envio de certificados autofirmados y eso siempre y cuando el usuario no se de cuenta y los acepte, de esa manera se puede evadir el https

    ResponderEliminar
    Respuestas
    1. Hay que leer el post ;)
      Delorean se utiliza para cambiar la fecha a futuro. El ataque funciona tal y como se puede ver en las img.

      Cristian

      Eliminar
  2. Bastante ""original"" el post, http://www.elladodelmal.com/2016/03/ataques-man-in-middle-hsts-sslstrip-2.html

    ResponderEliminar
    Respuestas
    1. Los 2 posts fueron desarrollados originalmente por Pablo Gonzalez: http://www.flu-project.com/2016/07/hsts-de-la-teoria-la-practica.html. Pablo es uno de los creadores de "Flu-Project" que tb trabaja en ElevenPaths (con Chema y conmigo).
      Luego Chema lo publicó en su sitio "El Lado del Mal": http://www.elladodelmal.com/2016/03/ataques-man-in-middle-hsts-sslstrip-2.html

      Yo hice un resumen de los dos posts de Pablo y lo copie aquí. Simple :)

      Eliminar

Gracias por dejar un comentario en Segu-Info
Si vas a dejar una consulta, procura tener habilitado tu perfil en Blogger o deja una forma de contacto.

Gracias por comentar!