martes, agosto 02, 2016

Revisar la configuración HSTS y HPKP en el navegador de Internet para estar más seguro

Los protocolos HSTS (HTTP Strict Tansport Security) y HPK (HTTP Public Key Pins) dotan a la navegación desde un determinado navegador de Internet a un determinado sitio web de una capa de seguridad extra. El primero de los protocolos, HSTS, le permite indicar a un sitio web que siempre se conecte por HTTPs, evitando que desde el navegador se envíe ninguna petición por HTTP (aunque el usuario o una parte de la aplicación así lo indiquen). El segundo de los protocolos, HPKP el la clave de las tecnologías de Certificate Pinning y le indica al navegador que, no solo debe hacerse la petición vía HTTPs, sino que además el servidor debe tener como clave pública un determinado certificado. Es decir, el servidor web "pinnea" en el navegador el certificado que debe tener el servidor al que se conecta.

Figura 1: Revisar la configuración de HSTS y HPKP en el navegador de Internet

Estas dos tecnologías dificultan sobremanera los ataques de red Man in the Middle, aunque existen algunas limitaciones de la tecnologías que pueden ser aprovechadas por un atacante. Ya vimos como con Delorean se podía hacer caducar una configuración HSTS e incluso un certificado digital "pinneado" con HKPK. Además, ataques como SSLStrip2 pueden aprovecharse de la primera negociación de HSTS para hacer el ataque de man in the middle y robar el tráfico de red.
Por otro lado, también hemos visto como la configuración de HSTS o de HKPK pueden ser utilizados para dañar la privacidad de los usuarios. En primer lugar, un sitio web malicioso podría aprovecharse del valor de Max-Age de HSTS para crear una supercookie en cada cliente, de igual formar que un atacante podría aprovecharse de la capacidad de HKPK para poner un certificado diferente a cada usuario y saber quién es en cada momento.
Por último, haciendo un ataque Time-Based a ciegas, un atacante podría saber cuáles han sido los sitios que se han visitado solo por el tiempo de error al solicitar un recurso vía HTTP de un servidor en el que el tráfico debe ir por HTTPS porque está forzado por HSTS. Saber si el navegador ya tenía la política HSTS configurada o no hace que un atacante remoto pueda conocer su historial de navegación.

Revisar la información HSTS y HPKP de tu navegador

Conociendo las ventajas y los inconvenientes de estas tecnologías, merece la pena saber cómo se pueden consultar las configuraciones HSTS y HPKP que tiene cada uno de nuestros navegadores. Descubrir si te están vigilando o si es posible conectarse a un determinado sitio desde una red WiFi insegura sabiendo que va a ir por HTTPs puede ser de utilidad.

Figura 4: Consulta HSTS y HPKP en Google Chrome para www.Gmail.com

En Google Chrome podemos consultar la información de HSTS y HPKP desde la herramienta net-internals HSTS, tal y como se ve en la imagen superior, donde se ha consultado para Gmail. En Mozilla Firefox, por desgracia no viene nada de serie, pero en el Lab de ElevenPaths hemos creado una herramienta llamada PinPatrol que tenéis disponible en los addons de Mozilla.

La herramienta, una vez la instalas, te permite consultar de una vez (mucho más sencillo que andar buscando dominio a dominio) todas las políticas HSTS que están cargadas en tu navegador.

Figura 6: PinPatrol muestra en forma de tabla las entradas HSTS y su información

Además, en el caso de que tengas un certificate pinning con HPKP para cualquier dominio, tendrás también la firma del mismo y la información relevante de él. En este caso, el plugin Calomel del que os hablé para ayudar a conocer detalles de seguridad de un certificado digital.

Figura 7: Entrada HPKP en Mozilla Firefox con datos del certificado "pinneado"

Los campos de la tabla no son complicados de entender, pero en la web del laboratorio los tenéis explicados junto con un enlace para descarga directa.

Figura 8: Plugin PinPatrol en descarga directa con información detallada

Si utilizas Mozilla Firefox para navegar o para tus proyectos de Ethical Hacking, entonces PinPatrol te puede ayudar en todo momento a evaluar cómo están funcionando las políticas HSTS y HPKP de forma sencilla. Además, puedes comprobar esta información con la que obtienes en otro navegador de forma que así sabes si te están instalando una supercookie o no para seguirte.

Saludos Malignos!

No hay comentarios:

Publicar un comentario