Obtener credenciales HTTPS con Bettercap y SSLstrip

Iniciado por ANTRAX, Marzo 26, 2017, 02:27:48 PM

Tema anterior - Siguiente tema

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

Marzo 26, 2017, 02:27:48 PM Ultima modificación: Marzo 26, 2017, 06:22:20 PM por HATI

Para empezar este 2017, os traigo un tutorial sobre cómo obtener las credenciales de sitios web que tengan cifrado SSL/TLS (HTTPS) mediante una técnica llamada SSLstrip y el uso de un framework para realizar ataques MITM (ataque de hombre en el medio) llamado Bettercap, en Internet, existen multitud de tutoriales para realizar este ataque pero aquí os enseñaré como realizarlo de una manera muy simple.

Este tutorial lo hago con fines educativos y sobre todo éticos, no me hago responsable del mal uso que podáis dar con lo aprendido aquí.

¿Qué son las páginas https? ¿Qué diferencias hay con las http?


Muchas veces, nos damos cuenta cuando accedemos a alguna web, que aparece un candado verde en la parte izquierda de la barra de direcciones, esto quiere decirnos, que nuestra conexión con el servidor es segura, es decir, el tráfico entre los dos puntos viaja cifrado.

Este tipo de páginas podemos encontrarlas en aquellas que requieran un nivel "extra" de seguridad debido a que en ellas se maneja información sensible como por ejemplo contraseñas, números de tarjeta de crédito o información confidencial.

Un ejemplo del uso de estas páginas pueden ser las web de los bancos, páginas dedicadas al comercio electrónico (tiendas online) o sitios populares como Google, Facebook o Twitter.

Podríamos decir que la diferencia entre https y http es que la información se envía cifrada para evitar que un tercero capture el tráfico y vea lo que en ella se envía, el trafico https puede ser de igual manera capturado que el tráfico http, pero no podríamos leer lo que contiene (en principio).

Bettercap y SSLstrip

Bettercap es un framework que se utiliza para realizar ataques MITM (Man In The Middle) o hombre en el medio, estos ataques consisten básicamente en interponerse entre 2 equipos para ver que datos se intercambian.

A continuación os dejo unos links por si queréis echar un vistazo más a fondo a esta estupenda herramienta.

Sitio ofical de Bettercap: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
GitHub de Bettercap: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Pero, ¿con interponerme en mitad de la conexión es suficiente?

Como bien os había dicho anteriormente, simplemente interponiéndonos en la conexión entre 2 equipos no es suficiente, necesitamos hacer uso de SSLstrip para poder leer lo que en ella se envía, más adelante lo veremos, os dejo un enlace hacia esta herramienta creada por Moxie Marlinspike.

GitHub de SSLstrip: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Instalación de Bettercap.

Para instalar Bettercap, abrimos un terminal con permisos de superusuario y escribimos:


Instalación de dependencias

Código: bash
apt-get install build-essential ruby-dev libpcap-dev


Clonamos el repositorio a nuestro equipo.

Código: bash
git clone https://github.com/evilsocket/bettercap


Nos posicionamos en la carpeta del proyecto

Código: bash
cd bettercap


Construimos las gemas.

Código: bash
gem build bettercap.gemspec


Instalamos las gemas

Código: bash
gem install bettercap*.gem


Uso de Bettercap y SSLstrip

Bettercap ya trae un módulo para realizar ataques SSLstrip, por eso creo que esta es la manera más sencilla para realizar este ataque, si conocéis otra manera más rápida y efectiva de realizar este ataque, os invito a que podáis publicarlo a continuación de este artículo.

Abrimos una terminal y escribimos:

Código: bash
bettercap


Deberíamos de ver todos los dispositivos conectados a nuestra red, es hora de acordarnos de la IP de la víctima, que en mi caso sería la IP 192.168.100.251.


Una vez sabemos la IP de la víctima, inicializamos Bettercap de la siguiente manera:

Código: bash
bettercap -T [IP VÍCTIMA] --proxy -P POST


En mi caso quedaría de la siguiente manera: bettercap -T 192.168.100.251 –proxy -P POST

Si queremos que el ataque se realice a toda la red, simplemente no especificamos la IP de la víctima, y comenzará a captura todo el tráfico de red.

Código: bash
bettercap -T --proxy -P POST


Una vez la víctima acceda a cualquier página https (en este caso Facebook).


Podremos ver el tráfico descifrado, y por lo tanto, las credenciales en texto claro.



Fuente: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Saludos,
ANTRAX


No estoy seguro si te sirve para móviles.. En teoría debería ya que la APP de facebook también funciona con SSL. Pero no se si el manejo de datos sea el mismo que el de un navegador web.

Por las dudas probalo con la PC para descartar.

Saludos,
ANTRAX



Hola @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta he realizado mis pruebas pero el trafico HTTPS veo que no se muestra en texto plano y más bien es encriptado.

Está es una captura de Facebook y Gmail, donde las url cambiaron.



¿Que puede estar pasando?

Gracias por leer!

@No tienes permitido ver los links. Registrarse o Entrar a mi cuenta Si no me equivoco, es porque utilizan la tecnología HSTS y por lo tanto el ataque con SSLstrip ya no funciona.


Jugar o perder

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
@No tienes permitido ver los links. Registrarse o Entrar a mi cuenta Si no me equivoco, es porque utilizan la tecnología HSTS y por lo tanto el ataque con SSLstrip ya no funciona.

Existen otras formas de hacer algo parecido pero con HSTS?

Gracias por leer!

@No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, para obtener credenciales podrías probar con un phising.


Jugar o perder

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
@No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, para obtener credenciales podrías probar con un phising.

Me referia a algo de sniffing

Abril 08, 2017, 04:46:10 AM #8 Ultima modificación: Abril 08, 2017, 07:20:15 AM por HATI
@No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, podrías aprovechar la redirección hacia un determinado subdominio que utilice http. Si consigues que la víctima acceda a ese subdominio lo has conseguido.

Bettercap hace esto por defecto para bypassear el HSTS, pero páginas cómo Facebook y Gmail ya están protegidas ante este tipo de ataques.


Jugar o perder


No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
@No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, podrías aprovechar la redirección hacia un determinado subdominio que utilice http. Si consigues que la víctima acceda a ese subdominio lo has conseguido.

Bettercap hace esto por defecto para bypassear el HSTS, pero páginas cómo Facebook y Gmail ya están protegidas ante este tipo de ataques.

Un sub-dominio que trabaje con protocolo http dentro de estas redes lo veo dificil; estos tienen certificados ssl wildcard.

Gracias por leer

¡Hola!

¿Alguna vez probaron "Delorean" para hacer ataques a NTP? Tal vez funcionaría.
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos.
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

@No tienes permitido ver los links. Registrarse o Entrar a mi cuenta revisando la documentación no encontré la forma de guardar todo el trafico obtenido como un log para poder consultar despues, sabes algo?

@No tienes permitido ver los links. Registrarse o Entrar a mi cuenta el link pinta buenisimo, mañana hare las pruebas todo el día y te cuento que tal.

Gracias por leer!

@No tienes permitido ver los links. Registrarse o Entrar a mi cuenta puedes usar las opciones:
Código: php
 "-O" 
"--log nombredelarchivo"



Aquí tienes la documentación oficial: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Jugar o perder

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
@No tienes permitido ver los links. Registrarse o Entrar a mi cuenta puedes usar las opciones:
Código: php
 "-O" 
"--log nombredelarchivo"



Aquí tienes la documentación oficial: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Gracias!! +Karma

Este tipo de ataque ya no funciona ni para el login del router según lo que e estado probando

Youtube: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta - Twitter: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Me parece que no habeis tenido en cuenta la aportacion que Nobody ha hecho al hilo:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
¡Hola!

¿Alguna vez probaron "Delorean" para hacer ataques a NTP? Tal vez funcionaría.
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos.

HSTS funciona mientras no caduque la cookie, si consigues que la cookie caduque puedes emular la primera conexión y engañar al navegador para que no pida https. Eso si, la hora que verá el cliente no será la correcta y si echa un vistazo al reloj verá que no es correcta y podrá sospechar.

En el login del router funciona mientras sea la primera vez que conectas, si no hay que hacer lo de la hora porque tu navegador ya habrá cargado la pagina y ya tendra la cookie del hsts

Si queréis ver la lista de HSTS y sus fechas de expiracion no tenéis mas que ir a .mozilla/firefox/xxxxx.default/SiteSecurityServiceState.txt

Mayormente ahi hay una lista de sites con la fecha de expiracion en milisegundos, lo pasáis a fecha humana y ahí tenéis la fecha que tenéis que conseguir poner en el host para evitar la carga del HSTS.

Lo siento, no contesto dudas por MP, si tienes dudas las planteas en el foro.

Muy inestable para un ataque no controlado por ejemplo quería tener una prueba de concepto bajo un red publica

Youtube: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta - Twitter: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Aporte muy interesante muchas gracias.
A mi me da un error al iniciarlo "couldn't determine router MAC" alguien podria echarme una mano??
Gracias de ante mano ;-)

una duda si quiero snifear el login de un router mikrotik con aaceso a puerto personalizado 8081 como  lo puedo hacer como especifico ese puerto a escuchar?