domingo, 30 de enero de 2011

SSL y SSlstrip, el arte del cambiazo

¿ Que te han robado la password al acceder a una página https ? No es posible!!... O sí?

¿ HTTP o HTTPS ?

Todos entendemos SSL  y HTTPS como el paradigma de la comunicación segura, y lo es, pero hay que ser cuidadoso. Cuando accedamos vía https a un sitio web debemos estar seguros de que todo va correctamente. ¿Alguna vez te ha salido el warning de este sitio no es de confianza y bla,bla, bla?. ¿Has continuado sin echar un vistazo al certificado?. Esta debe ser la norma, nunca ignorar estos avisos. Pero hay formas mucho más sutiles a la hora de "echar el anzuelo" y son los enlaces y las redirecciones (302) desde http hacia https. ¿Cuando accedes a tu cuenta, tecleas directamente https... en la barra de direcciones o pinchas en algún enlace desde otra página? Cuidadín ahí. Alguien te la puede estar jugando con ssltrip.

SSLSTRIP

Bien, aqui entra en juego SSLStrip, una herramienta creada por Moxie Marlinspike y presentada en la BlackHat2009 que automatiza el proceso de realizar un ataque MitM contra estos 2 tipos de llegada a una conexion SSL (redirecciones o desde un link).

En otras palabras, estamos "escuchando" la redirección o la resolución de un enlace hacia HTTPS y zas! daremos el "cambiazo" y nos beneficiaremos de la poca atención de la victima haciendol@ creer  que está entrando por https cuando en realidad lo hace por http.
Este tipo de ataque es posible en páginas que admiten los dos modos, por ejemplo gmail.

Funcionamiento, a grandes rasgos

La base del ataque es el conocido Man in The Middle (MiTM). Para ello la máquina atacante debe hacer las veces de intermediario y hacer que todo el tráfico entre la victima y su destino pase por él. Ello se hace vía spoofing haciendo creer a victima y destino(router/gateway) que sus respectivas direcciones son la nuestra, así cuando la víctima envíe y cuando el router devuelva lo harán a la dirección del atacante siendo éste, el que después de obtener el tráfico lo redirija a su destino real. El engaño se realiza con el envenamiento de ARP o ARP spoofing.
 Fig1. ARP Spoofing. MiTM

Una vez en marcha, SSLstrip estará atento a las conexiones HTTP (puerto 80) capturándolas y actuando sobre ellas para en el caso de redirección a https (443) deshabilitarlas y devolver de nuevo a la victima tráfico http.Por otro lado con un sniffer capturaremos el tráfico y entre él aparecerá  en texto plano el login/passwd al ir realmente sobre http.
Fig 2. SslStrip dando el cambiazo a redirecciones y links hacia htpps


El cambio con SSLStrip el esquema es el mencionado:
Cliente <---NoSSL----> SSLStrip <--SSL---> Servidor

Con este esquema el navegador no alertará al usuario ya que para él todo es http.

Por tanto, la herramienta proporciona los mecanismos necesarios para que un usuario piense que la conexión se está estableciendo de manera segura, aunque realmente esto no sea así y todo el tráfico hacia la herramienta salga sin cifrar.

Herramientas necesarias (en Linux):
Arpspoof---> Para realizar el envenamiento
ssltrip------> Cambiazo https--->http.
iptables--->Necesitarás crear una regla iptables para redirigir el puerto 80 al puerto donde escucha ssltrip
ettercap---> Sniffer

El procedimiento no es complicado, lo explica el propio Moxie en su página. 
¿Comntarios? ¿Sugerencias?
Disclaimer: El objeto de este post es puramente didáctico por lo que no entro en detalles a nivel de comandos. 


No hay comentarios:

Publicar un comentario