Hackear cuenta con MFA activa

La autenticación en dos o más pasos supone un gran incremento a la seguridad de las cuentas. Hagamos una breve lista de los distintos métodos de autenticación que existen:

  • Algo que sabes: la contraseña de toda la vida, una palabra o clave que solo tú conoces.
  • Algo que eres: cualquier biometría de tu cuerpo, como puedan ser tus huellas dactilares o un escaner de tu retina.
  • Algo que tienes: tu smartphone, una smartcard o un generador de tokens.
Hackear cuenta con MFA activa

Se debe utilizar MFA siempre que sea posible, ya que permite que los atacantes lo tengan mucho más difícil. No basta con obtener la contraseña, también deben apañarselas para conseguir el OTP (One Time Password) que se envía mediante un canal secundario. Es muy común implementar MFA utilizando un código enviado al email o al teléfono móvil mediante un SMS.

Ataque a Cuenta con MFA mediante Phishing

Aunque el MFA aumenta mucho la seguridad, no evita que los usuarios sigan cayendo en ataques de phishing. Aunque tengas cinco factores de autenticación distintos activos, si haces click en el enlace incorrecto e introduces tus credenciales, no tendrás nada que hacer, el atacante se hará con el control de tu cuenta.

Y eso es lo que te voy a mostrar hoy, vamos a entrar en la cuenta de LinkedIn de un usuario que tiene MFA activado, mediante un ataque de phishing.

Preparativos

Para realizar este ataque de phishing, lo primero que tenemos que hacer es obtener un dominio con un nombre similar al que queremos suplantar. En este caso, he elegido el dominio linkedln.com (nótese que hay un L en lugar de la segunda i de Linkedin).

Los atacantes suelen emplear una diferencia sutil como esta en el nombre para engañar a usuarios despistados que no hacen una comprobación exhaustiva del nombre del dominio.

En segundo lugar, necesitamos habilitar HTTPS en nuestro dominio fake. Todos los navegadores de hoy en día mostrarán un aviso al usuario si una página solicita acceso por HTTP. Además, muchos usuarios hacen la asociación HTTP -> no seguro, HTTPS -> seguro. Por tanto, tener HTTPS en nuestro dominio fake nos permitirá ganarnos un poco más la confianza de la víctima.

Debemos recordar que HTTPS simplemente significa que las comunicaciones entre cliente y servidor son seguras, ya que están cifradas. Pero si el servidor lo controla el atacante, simplemente le estarás dando tus datos… de forma segura.

Para conseguir que tu dominio tenga HTTPS, necesitas verificarlo ante una Autoridad Certificadora, que certifique que eres quien dices ser y te otorgue el certificado SSL/TLS. Este proceso era largo y costoso, sin embargo Google tiene desde hace años su propia Autoridad Certificadora, Let’s Encrypt, que es completamente gratuita, por lo que cualquiera puede obtener HTTPS en su web.

 

Evilginx

Una vez tenemos el servidor web listo, tenemos que copiar el código HTML y Javascript de la página que queremos suplantar, en este caso LinkedIn, para que nuestra página parezca lo más real posible. Es aquí donde entra en juego la herramienta Evilginx, que nos permite automatizar todo el proceso de una manera fácil y cómoda.

Evilginx tiene distintos «phishlets» creados por la comunidad. Los phishlets son copias de páginas webs conocidas sobre las que se puede realizar el ataque. Mediante esta herramienta puedes hacer que tu página web luzca como cualquiera de los servicios más famosos, como Okta, Github, Amazon, Paypal y por supuesto Linkedin.

Una vez tenemos el servidor web listo, tenemos que copiar el código HTML y Javascript de la página que queremos suplantar, en este caso LinkedIn, para que nuestra página parezca lo más real posible. Es aquí donde entra en juego la herramienta Evilginx, que nos permite automatizar todo el proceso de una manera fácil y cómoda.

Evilginx tiene distintos «phishlets» creados por la comunidad. Los phishlets son copias de páginas webs conocidas sobre las que se puede realizar el ataque. Mediante esta herramienta puedes hacer que tu página web luzca como cualquiera de los servicios más famosos, como Okta, Github, Amazon, Paypal y por supuesto Linkedin.

Estos son los comandos que debemos ejecutar:

  • config domain linkedln.com – indicamos que el nombre de dominio que queremos utilizar para nuestro ataque es linkedln.com
  • phishlets hostname linkedin linkedln.com – Podemos configurar distintos subdominios si queremos realizar la suplantación en más de un dominio a la vez. No es el caso, por lo que volvemos a indicar linkedln.com.
  • phishlets enable linkedin – Activamos el phishlet de linkedin. Debemos tener el certificado SSL/TLS y la clave privada en la carpeta de certificados de Evilginx.
  • phishlets -comprobamos que el phishlet está activado y el dominio asignado es correcto.
  • lures create linkedin – Generamos un link para nuestra víctima.
  • lures get-url 1 – Obtenemos el link que le mandaremos a la víctima.
 
 

Ingeniería Social

 

Llega la parte en la que debemos emplear cualquier técnica de ingeniería social para mandarle el link a la víctima y que clicke en él. Al abrir el línk, la víctima podrá ver una página exactamente igual a la original, en la que se solicita el inicio de sesión:

Hackear cuenta con MFA activa

Tras introducir el usuario y la contraseña, se solicitará el segundo factor de autenticación tal y como lo hace linkedin:

Hackear cuenta con MFA activa

Una vez la víctima lo introduzca, podrá acceder a su perfil de linkedin y navegar como si estuviera en la página web original, porque en realidad nuestro servidor ha estado redirigiendo toda la información introducida por el usuario a la página original de linkedin.
Hackear cuenta con MFA activa
 

Por tanto, la víctima no sospechará nada y podrá navegar tranquilamente, sin ser consciente de que ya tenemos todo lo necesario para acceder a su cuenta. Y es que si comprobamos la herramienta, podremos ver que tenemos su correo electrónico y contraseña. Pero tenemos algo mucho más útil que nos permitirá saltarnos la MFA: su cookie de sesión.

Inyectando la Cookie de Sesión

Cuando iniciamos sesión en cualquier página web, el servidor nos manda una cookie de sesión, que es la que utilizamos en el resto de peticiones que hagamos al servidor. Eso nos permite navegar por la web sin necesidad de estar registrándonos cada vez que queramos realizar una acción. La cookie de sesión sirve para que el servidor sepa que la petición que recibe ha sido enviada por un usuario que ya está autenticado y tiene permiso para realizar esa acción.

Por tanto, dado que hemos obtenido la cookie de sesión de la víctima, basta con que desde el ordenador atacante nos metamos en la página original de linkedin, añadamos la cookie a nuestro navegador y refresquemos la `página para acceder a la cuenta de la víctima, sin necesidad de realizar ningún login.

Podemos hacer esto de forma manual o utilizar el plugin EditThisCookie, que nos permite importar la cookie de forma rápida y sencilla..

¡Y eso es todo! Espero que hayas disfrutado de este post. Es importante remarcar que este no es un post contra MFA, pues es una tecnología muy útil que aumenta muchísimo la seguridad de las cuentas. Pero es importante entender que si un atacante consigue engañarte podrá acceder, no importa cuanto fortifiques tu cuenta.

5/5 - (67 votos)

Deja un comentario