SSLSTRIP

Iniciado por BeLGaRioN, 27 Noviembre 2011, 17:02 PM

0 Miembros y 2 Visitantes están viendo este tema.

BeLGaRioN

Pues no, no generó absolutamente nada y el error es el típico 404 de no encontrado.
Comunidad hispana dedicada a la Plataforma Steam | http://www.plataformasteam.com

adastra

umm, es un poco raro lo que te esta pasando, cual es la regla iptables que estas usando?

BeLGaRioN

Según dice en la página del propio sslstrip que es esta:

http://www.thoughtcrime.org/software/sslstrip/

La regla que hay que meter es de este tipo:

Citariptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port <listenPort>

Esta es la que yo metía y iba todo correcto, pero existe el problema de las webs con contenido en streaming y tras decirme tú aquello, pues metí una exactamente igual sólo que cambiando el 80 por 443. El asunto es que he estado buscando y al parecer esto no se puede hacer, ya que el sslstrip digamos que se comunica con el servidor mediante https y con el cliente por http, para así poder ver las claves en texto plano y si el puerto de destino es el 443, pues sencillamente no funciona. No le llega nada en realidad.
Comunidad hispana dedicada a la Plataforma Steam | http://www.plataformasteam.com

adastra

Cita de: BeLGaRioN en 28 Noviembre 2011, 18:34 PM
Según dice en la página del propio sslstrip que es esta:

http://www.thoughtcrime.org/software/sslstrip/

La regla que hay que meter es de este tipo:

Esta es la que yo metía y iba todo correcto, pero existe el problema de las webs con contenido en streaming y tras decirme tú aquello, pues metí una exactamente igual sólo que cambiando el 80 por 443. El asunto es que he estado buscando y al parecer esto no se puede hacer, ya que el sslstrip digamos que se comunica con el servidor mediante https y con el cliente por http, para así poder ver las claves en texto plano y si el puerto de destino es el 443, pues sencillamente no funciona. No le llega nada en realidad.

Tienes razón en todo, he estado probando un poco y al reproducir el mismo fallo, escribí un mensaje privado a Moxie Marlinspike por twitter  (desarrollador de SSLStrip) y dice que efectivamente, es un problema con la implementación, dado que trabaja directamente con paquetes TCP y los  flujos muiltmedia o cualquier tipo de contenido de "framming" (tipicamente utilizando UDP) no es soportado completamente, ya que no estaba pensado para que funcionara en tales casos. Se necesita realizar una extensión de la herramienta para que funcione con este tipo de paquetes...
Le has dado en el clavo completamente, la verdad no me había fijado que tenia ese problema, en el mensaje me ha dicho también, que él ahora mismo esta en otros desarrollos y no tiene espacio para resolver ese problema, tenemos el código por si queremos darle un vistazo, en cuanto tenga un espacio miraré como esta trabajando el programa para ese tipo de paquetes, esta hecho en python, en realidad es muy sencillo y consta de pocas clases, solamente tienes que aprender un poco como funciona la librería phyton twisted, pero vamos que no es realmente complicado. Así que si también te animas puedes mirar el código y vamos comentando lo que vayamos viendo, por supuesto, si tienes disponibilidad para hacerlo.
Saludos.

BeLGaRioN

Disculpa la tardanza en contestar, he estado algo liado.

Sobre el tema del streaming, te agradezco que me lo confirmes, le había estado dando vueltas un par de días sin mucho resultado.

Acerca de la propuesta, la verdad es que suena muy interesante, yo no controlo nada de python, tan sólo había probado 4 cosas hace muchos años. No creo que tenga tiempo para dedicarme a ello ya que estoy en la universidad y bueno, con el plan Bolonia este, hay que trabajar cada dia. En fin, quizás algún día no muy lejano me animo, pero por ahora será mejor que no.

Gracias otra vez por confirmarme eso.

Un saludo.
Comunidad hispana dedicada a la Plataforma Steam | http://www.plataformasteam.com

adastra

De acuerdo, por mi parte intentaré sacar algún tiempo para sacar una versión un poco más "estable" de SSLStrip.
Suerte y animo con tus estudios!
Saludos.

BeLGaRioN

Bueno, para no dejar el tema sin una solución, aunque no sea la anteriormente comentada de modificar el código.

La verdad es que sería genial que el programa, independientemente de si realizaras una petición https://... o una http://..., funcionase (cuando la petición se hace al puerto 443 no funciona), esto no está implementado. Además del problema ya anteriormente comentado de páginas con contenido en streaming (sucede porque todo el contenido que va por el puerto 80 es gestionado por el sslstrip).

En síntesis, pensé en modificar el código, la verdad es que python no es un lenguaje complicado, pero sigo sin saber el por qué no es capaz de enviar el contenido en streaming directamente en vez de esperar a que el pc atacante lo tenga todo para enviarlo al pc víctima. Pero bueno, he encontrado otra manera de solucionarlo cambiando un poco la regla que añadimos al sslstrip, de forma que sólo enviemos al sslstrip la página/s que nos interesa. La regla sería así:

Citariptables -t nat -A PREROUTING -p tcp -m iprange --dst-range (rango1)-(rango2) --destination-port 80 -j REDIRECT --to-port (puerto escucha sslstrip, por defecto el 10000)

De forma que si quisiésemos capturar las de hotmail, el rango que he puesto es este:

Citariptables -t nat -A PREROUTING -p tcp -m iprange --dst-range 65.0.0.0-65.255.255.255 --destination-port 80 -j REDIRECT --to-port 10000
Comunidad hispana dedicada a la Plataforma Steam | http://www.plataformasteam.com

adastra

Esta claro que el sw necesita un cambio en la forma en la que se tratan lo paquetes, sin embargo la solución que propones me parece buena, solamente que limitas con eso se limita muchísimo la extensión de un ataque, ya que solamente funcionará para algunos rangos, excluyendo otros sitios que posiblemente resultan también interesantes, en fin... de momento creo que es una solución aceptable.

tomatoema

 :silbar: habeis probado con iptables dirigir el 443 al 80 y poner a escuchar el sslstrip en el 80 :P
o usar fragrouter y dnsspoof

BeLGaRioN

Cita de: tomatoema en  4 Diciembre 2011, 20:09 PM
:silbar: habeis probado con iptables dirigir el 443 al 80 y poner a escuchar el sslstrip en el 80 :P
o usar fragrouter y dnsspoof

No funcionaría, porque la gente en su gran mayoría hace la petición al 80, luego el servidor, ya sea hotmail, gmail etc. le cambia automáticamente la URL y le dice que debe hacerla al 443. El sslstrip se encarga de, precisamente, que eso último no ocurra yendo todo por el 80. De forma que si rediriges el 443 al 80 para poner ahí al sslstrip a funcionar pues el sslstrip no capturará nada porque no está programado para eso. De hecho, creo que no te funcionaría cualquier página que usara SSL, recuerdo haber hecho bastantes pruebas.

Gracias, en cualquier caso, por el aporte.
Comunidad hispana dedicada a la Plataforma Steam | http://www.plataformasteam.com