A menudo se implantan distintas técnicas de seguridad que impiden por ejemplo que los datos cliente-servidor viajen en crudo... tales técnicas como, por ejemplo SSL, generalmente ofrecen seguridad, sin embargo no siempre la conexión https está forzada y únicamente activa, sinó que, es una opción más.
No hace mucho, tuve la suerte de asistir a una charla por parte de la guardia civil que hablaba sobre la seguridad en redes sociales y sobre los delitos informáticos. Una de las cosas que comentaron fué que, siempre que estemos bajo https, estamos seguros.
¿Qué es SSL?
El protocolo SSL (secure sockets layer) permite que los datos cliente-servidor viajen cifrados.
¿Como funciona SSL?
No entraré en profundidad ya que dentro de SSL hay varias formas de conexión pero la básica es algo así:
- Negociación de versión cliente-servidor + algoritmo.
- Negociación de clave para el cifrado y certificados
- Intercambio de tráfico con cifrado simétrico.
Ahora que ya sabemos qué es y como funcinona, vamos a acceder a alguna página que permita acceder a un panel de usuario mediante https... y que porsupuesto también lo permita desde http. :)
Si nos fijamos, tuenti solo usa https en el momento en que los datos del login son enviados. Esta vulnerabilidad no es nueva, corresponde al uso de SSL en general tanto para el chat como para el resto de datos y Chema Alonso ya la había mostrado en su blog hace tiempo.
Si la experiencia del usuario a la hora de acceder es en https pero http está habilitado, esto nos indica que podremos simplemente ver todo lo que se envía.
Es por eso que he decidido hacer uso de una técnica llamada SSLStrip. Esta técnica fue mostrada en la Black Hat DC 2009 por Moxie Marlinspike.
¿En qué consiste el ataque?
EL ataque permite mediante un ataque "man in the middle" interceptar la petición https, reenviarla como si de http se tratase y hacerla llegar a nosotros.
Quiero saber quién está conectado a la red y seleccionar una ip interna como objetivo. Voy a usar nmap porque me facilitará el trabajo enormemente.
Configuramos un par de cosas básicas para no dejar sin internet a el resto de personas :p
Vale. Ahora tenemos que descargar la herramienta sslstrip de Moxie Marlinspike. La podemos obtener con wget desde aquí. En la web del autor también explica como instalarlo asique me voy a saltar ese paso suponiendo que todos lo habeis instalado ya!
Toca arrancar sslstrip, la podeis arrancar con diferentes opciones. Yo he usado estas pero con un -h podeis consultarlas todas y para que sirve cada una. ^^
Finalmente tenemos que hacer arp poisoning, asique yo usaré a mi preferido que es ettercap :) 192.168.1.38 (la que seleccionamos al principio) corresponde al otro pc, sin embargo con el plugin autoadd irá añadiendo el resto de conexiones nuevas.
Y después de que nuestro incauto luser (me incluyo) haya accedido a un par de sitios con ssl, nosotros tendremos en texto plano sus credenciales :)
Es por eso qué, no hagais caso a temas como "siempre que sea https es seguro" porque ha quedado demostrado un millón de veces que no.
¿Existe solución para SSLStrip?
Sí, hay varias soluciones y dependen del ingenio del administrador.
Yo lo solucionaría creando un subdominio (login.ejemplo.net) en donde apache solo permita https (sin juegos de .htaccess para redireccionar a https). Porspuesto hay muchas otras formas sin tener que crear un subdominio.















6 comentarios:
Muy bien explicado capo, hablamos hace poco de esto, mis profes siguen 'forzando' a https del login de moodle jajaja. Esperamos otra entrada =P
@$DoC: Gracias por comentar. Justo es eso, por mucho que fuerces https a base de un .htaccess va a seguir siendo vulnerable :X
Un saludo!
Genial, como siempre.
Perooo... los de tuenti se van a chinar
:D
Saludos y gracias.
@Ino: Gracias por comentar :) Espero que no se enfaden, que esto ya lo había reportado bastante gente :)
Un saludo!
Tu blog me gusta, porque le metes un toque chusco y gracioso a tus entradas. Saludos Poison.
@Mephistopheles: Gracias!! Se intenta dar un toque ameno a la información :)
Un saludo ;)
Publicar un comentario en la entrada