[HELP] Ataque MITM SSL

Iniciado por TheL0w3R, 5 Noviembre 2015, 23:40 PM

0 Miembros y 1 Visitante están viendo este tema.

TheL0w3R

Buenas, estoy iniciandome en el hacking, soy estudiante de informática de 1º de carrera.

He conseguido hacer un ataque MITM e interceptar cookies que van por HTTP y sin cifrar pero cuando intento interceptar una sesión de facebook (por ejemplo) o de cualquier otra web que use SSL no se como hacerlo..

He visto que hay gente que consigue redirigir el trafico de SSL a HTTP entre la victima y el atacante y luego lo transmiten por SSL entre el atacante y el gateway...

Me gustaría obtener una explicación del proceso más detallada.

Saludos!!  :laugh: :laugh:

Kaxperday

Si está usando SSL en la conexión no puedes capturar sus datos, entonces tienes que hacer el mitm y después usar sslstrip que hace que la victima navegue sobre HTTP en vez de HTTPS, y en caso de que use HSTS la página que carga la víctima con dns2proxy podrías hacerle saltar a un dominio que no este almacenado en el navegador por lo que no saltaría alerta a la hora de navegar en HTTP.

Saludos.
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.

TheL0w3R

Cita de: Kaxperday en  6 Noviembre 2015, 00:19 AM
Si está usando SSL en la conexión no puedes capturar sus datos, entonces tienes que hacer el mitm y después usar sslstrip que hace que la victima navegue sobre HTTP en vez de HTTPS, y en caso de que use HSTS la página que carga la víctima con dns2proxy podrías hacerle saltar a un dominio que no este almacenado en el navegador por lo que no saltaría alerta a la hora de navegar en HTTP.

Saludos.
Hmm, no había pensado en eso.. Gracias por la respuesta! Cuando tenga tiempo vuelvo a probar y te cuento como me fue!  :D :laugh:

3THIC4L

Cita de: Kaxperday en  6 Noviembre 2015, 00:19 AM
Si está usando SSL en la conexión no puedes capturar sus datos, entonces tienes que hacer el mitm y después usar sslstrip que hace que la victima navegue sobre HTTP en vez de HTTPS, y en caso de que use HSTS la página que carga la víctima con dns2proxy podrías hacerle saltar a un dominio que no este almacenado en el navegador por lo que no saltaría alerta a la hora de navegar en HTTP.

Saludos.

¿Podrías decirme alguna forma de acer sslstrip? No se ninguna forma, he buscado y no he encontrado nada, si me ayudas te lo agradecería, un saludo y gracias

Kaxperday

Jajaja, claro yo lo estoy tratando de implementar.

Para usar SSLStrip, previamente ejecutado el MITM, lo que haría nuestro SSLStrip sería recoger las peticiones de las víctimas, en este caso filtraremos las HTTP pero también podríamos filtrar otras en texto plano como FTP por ejemplo.

Eliminaríamos de sus cabeceras encodings, cookies, lo que nos interese, y por supuesto cambiaríamos los links https por http.

Al pasarle a la victima links en HTTP, tratará de conectarse a la url por HTTP, luego pueden pasar 2 cosas que la página responda redireccionando a una página HTTPS como hacen los bancos, en ese caso no bastaría con modificar el link, ya que volvería a tratarse de conectar por HTTP al banco y este respondería un "Locale: https:\\..."; y así hasta el infinito, en ese caso debemos saberlo detectar y lanzar una conexión https con el cabezón del servidor, y devolvemos los datos a la victima que vamos obteniendo en HTTP, haciendola pensar que está realizando una conexión no segura HTTP con el banco, pero este lo esta intentando impedir a toda costa, incluso está pensando que no hay ningún problema ya que la conexión que está realizando con el cliente (nosotros) es segura.

En fin, filtrar datos de protocolos de texto plano, y para aquellas paginas cabezonas que insisten en navegar con https navegamos con ellas en https y devolvemos los datos al usuario en HTTP y los 2 contentos, IMPORTANTE si el cliente navega por una página que usa HSTS, es decir que está en esta lista:

https://hstspreload.appspot.com/

Quiere decir que los navegadores dirán "ey ¿que haces navegando por google con http?, ¿para google que soporta HSTS solo se puede conectar por HTTPS!". Y te mandará una alerta te cortará conexión, o lo que quiera hacer el navegador, de todo menos dejarte conectar con google.

Es por ello, que hay una técnica que permite saltar un poco el HSTS que deriva del dns spoofing, esta vez cuando la victima diga quiero conectarme a www.google.com, interceptaremos su paquete DNS y lo modificaremos diciendola que se conecte a nuestro servidor casero de google, para eso spoofeamos la ip del paquete dns poniendo la de la máquina del atacante, y usamos el campo CNAME del paquete DNS para decirle que lo sentimos pero que el dominio google.com, ahora se llama gogle.com, y el navegador de la victima al ver el paquete dice "oh vaya se quiere conectar con gogle.com, por http ese no está en mi lista de HSTS no hay problema", y la víctima se conecta a tí mientras tu te conectas con google y le devuelves los datos de google, es decir. Totalmente capturable todos los datos, muy pocas serán las victimas que vean el candado en rojo o amarillo y no continúen, algo que con la última técnica del HSTS podemos saltar también, es decir que se conecten a un banco por ejemplo y que no les salga candado, ya que le diremos al server que es otro dominio, casi igual pero distinto.

Que os aproveche :)

Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.

3THIC4L

Cita de: Kaxperday en 16 Enero 2016, 17:35 PM
Jajaja, claro yo lo estoy tratando de implementar.

Para usar SSLStrip, previamente ejecutado el MITM, lo que haría nuestro SSLStrip sería recoger las peticiones de las víctimas, en este caso filtraremos las HTTP pero también podríamos filtrar otras en texto plano como FTP por ejemplo.

Eliminaríamos de sus cabeceras encodings, cookies, lo que nos interese, y por supuesto cambiaríamos los links https por http.

Al pasarle a la victima links en HTTP, tratará de conectarse a la url por HTTP, luego pueden pasar 2 cosas que la página responda redireccionando a una página HTTPS como hacen los bancos, en ese caso no bastaría con modificar el link, ya que volvería a tratarse de conectar por HTTP al banco y este respondería un "Locale: https:\\..."; y así hasta el infinito, en ese caso debemos saberlo detectar y lanzar una conexión https con el cabezón del servidor, y devolvemos los datos a la victima que vamos obteniendo en HTTP, haciendola pensar que está realizando una conexión no segura HTTP con el banco, pero este lo esta intentando impedir a toda costa, incluso está pensando que no hay ningún problema ya que la conexión que está realizando con el cliente (nosotros) es segura.

En fin, filtrar datos de protocolos de texto plano, y para aquellas paginas cabezonas que insisten en navegar con https navegamos con ellas en https y devolvemos los datos al usuario en HTTP y los 2 contentos, IMPORTANTE si el cliente navega por una página que usa HSTS, es decir que está en esta lista:

https://hstspreload.appspot.com/

Quiere decir que los navegadores dirán "ey ¿que haces navegando por google con http?, ¿para google que soporta HSTS solo se puede conectar por HTTPS!". Y te mandará una alerta te cortará conexión, o lo que quiera hacer el navegador, de todo menos dejarte conectar con google.

Es por ello, que hay una técnica que permite saltar un poco el HSTS que deriva del dns spoofing, esta vez cuando la victima diga quiero conectarme a www.google.com, interceptaremos su paquete DNS y lo modificaremos diciendola que se conecte a nuestro servidor casero de google, para eso spoofeamos la ip del paquete dns poniendo la de la máquina del atacante, y usamos el campo CNAME del paquete DNS para decirle que lo sentimos pero que el dominio google.com, ahora se llama gogle.com, y el navegador de la victima al ver el paquete dice "oh vaya se quiere conectar con gogle.com, por http ese no está en mi lista de HSTS no hay problema", y la víctima se conecta a tí mientras tu te conectas con google y le devuelves los datos de google, es decir. Totalmente capturable todos los datos, muy pocas serán las victimas que vean el candado en rojo o amarillo y no continúen, algo que con la última técnica del HSTS podemos saltar también, es decir que se conecten a un banco por ejemplo y que no les salga candado, ya que le diremos al server que es otro dominio, casi igual pero distinto.

Que os aproveche :)



es que tengo el problema de que uso windows, y no se hacer sslstrip desde windows, alguna forma?

beholdthe

Cita de: LittleLion en 18 Enero 2016, 17:25 PM
es que tengo el problema de que uso windows, y no se hacer sslstrip desde windows, alguna forma?
Pasarte a GNU-Linux.
Dudo que tengas otra manera de hacerlo.

Kaxperday

No no, claro que se puede hacer para windows, ¡faltaría más!.

De hecho ya existen programas que lo hacen y muchos, entre los cuales yo creo que entre los mejores está el intercepter-ng.

Utiliza winpcap y mucha suerte jajaja, implementa tus propios checksums, contruye tus paquetes, sus campos, analiza paquetes... es un proyecto muy amplio, pero a la vez motiva mucho.

Saludos.
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.

mester

Justicia es dar a cada uno lo que se merece

ElInquisidor

Interesante... cositas que uno descubre leyendo por aquí  :)