Portada » Home » Kevin Mitnick hackea LinkedIn para mostrarnos que la Autenticación de Dos Factores ya no es segura

Kevin Mitnick hackea LinkedIn para mostrarnos que la Autenticación de Dos Factores ya no es segura

Éramos felices, hasta que llegó. Atrás quedaron los tiempos en que el estándar de seguridad en la autenticación era la 2FA (2 Factor Authentication, o Autenticación de 2 Factores). En un reciente video, el hacker estadounidense Kevin Mitnick, nos muestra como bypasearla, demostrando, como es su costumbre, cuan vulnerables son nuestros sistemas y cuan susceptibles son nuestras medidas de seguridad más top a los ataques de ingeniería social.

En el mundo de la in-seguridad informática, existen varias formas de acceder a los sistemas privados. Los atacantes suelen comenzar sus esfuerzos apuntando a los usuarios, que suelen ser el eslabón más débil de la cadena de seguridad de un sistema. En inglés, se le llama “to grab the low hanging fruit”; agarrar las frutas que cuelgan, y éstas suelen ser las credenciales de acceso o de login que los usuarios suelen descuidar. Incluso si no son descuidados con sus credenciales, muchas veces caen víctimas de campañas de phishing y revelan sus contraseñas sin siquiera sospecharlo. Es este el caso con este nuevo ataque, creado por Kuba Gretzky, que utiliza Evilginx, una herramienta que él programó a partir de Nginx para ser utilizada en campañas de phishing y que permite ataques Man-in-the-Middle para capturar las credenciales y las cookies de la sesión de forma remota, para cualquier website, utilizando un dominio personalizado y un certificado SSL válido. Esta técnica no explota ninguna vulnerabilidad de código (por ende, no hay updates para resolver el hoyo de seguridad que deja). Lo que hace es utilizar el servidor HTTP de Nginx como un proxy entre el usuario y los servidores de las páginas a los cuales este usuario desea autenticarse, de modo de robar el nombre de usuario, contraseña y cookie de la sesión en tiempo real. Es así como, una vez que el atacante importa las cookies de la sesión de la víctima a su propio navegador, el servidor del sitio adonde la víctima ingresa confía en que el atacante es, en realidad, legítimo. Una vez que el atacante obtiene la cookie de la sesión del usuario víctima, obtiene completo acceso a la sesión. Pero retrocedamos un poco y vayamos paso a paso.

Primero! ¿Qué es la autenticación de dos pasos, 2FA o 2 Factor Authentication?

Como su nombre lo dice, es un método de autenticación de dos etapas. En estos días, esos pasos suelen ser 1. La contraseña y 2. Un mensaje de SMS que se te envía cada vez que quieres loguearte en tus cuentas (hay más métodos de autenticación multifactores. Por ejemplo, cuando los bancos te piden tu contraseña para hacer transferencias, también que rellenes con códigos de la tarjeta de coordenadas y encima te envían un sms y te piden el código que te envían por sms, esto sería una autenticación de 3 factores (1. Contraseña 2. Coordenadas de la tarjeta 3. Código enviado por SMS)) . Este método es ampliamente usado por gigantes de la internet, y hasta hace poco (casi que, hasta ahora), era el estándar de seguridad para autenticarse.

¿Cuáles son las principales dificultades que los hackers experimentan al intentar campañas de phishing?

La primera gran dificultad era -y aún lo es- la autenticación de dos pasos. Los hackers maliciosos pueden imitar a la perfección las páginas de autenticación y repartir estos links por montones para obtener nombres de usuarios y contraseñas, pero eventualmente sus esfuerzos llegarán a un punto muerto si los usuarios han sido lo suficientemente precavidos como para haber habilitado la 2FA en sus cuentas, de modo de que las páginas les pidan un código enviado por SMS par autenticarse. De hecho, no sólo esto evitaría que el hacker no logre obtener la información suficiente como para ingresar a la cuenta de la víctima, sino que además, la víctima será avisada de que alguien está intentando ingresar a su cuenta.

La segunda dificultad para los atacantes era que, al enviar links de páginas que imiten las páginas a las cuales los atacantes quieran obtener acceso, estos intentos guardan tanto las credenciales válidas como las inválidas, dejando a los atacantes con una lista interminable de usuarios/contraseñas que muchas veces ni siquiera les sirven.

Además, y como tercer obstáculo, quedaba el asunto de tener que preparar las páginas que imiten a la página que se desea malversar. Si se quiere obtener los códigos de acceso para una cuenta de Google, se tiene que crear una página que imite a la página de acceso de Google. Si se quieren robar credenciales para Hotmail, se tiene que imitar la página de acceso de Hotmail y así. Esto suele ser un proceso extremadamente tedioso. Con Evilginx todas estas dificultades desaparecen y el atacante queda con una facilidad que realmente asusta para obtener acceso a tus cuentas.

¿Cómo funciona el ataque?

  1. Primero, el atacante genera un link falso, para ocuparlo en su campaña de phishing, que dirija a su servidor corriendo Evilginx:

https://accounts.linkdeejemplo.com/ServiceLogin?rc=https://https://www.youtube.com/watch?v=dQw4w9WgXcQ&rt=LSID

(En este link podemos apreciar los parámetros rc = Una vez que haya ocurrido una autenticación efectiva, la víctima es redirigida al link que le sigue al parámetro rc (https://www.youtube.com/watch?v=dQw4w9WgXcQ&) (ésa debería ser la página legítima a la cual el atacante desea obtener acceso) y el parámetro rt = nos indica el nombre de la cookie de la sesión en el navegador sólo después de que ocurre un logueo exitoso. Si se detecta la cookie, esto es indicación para Evilginx de que hubo una autenticación exitosa y luego la víctima es redirigida a la URL especificada por el parámetro rc)

  1. La víctima recibe el link generado por el atacante previamente mediante cualquier canal de comunicación (email, chat, mensaje de texto, etc)
  2. La víctima clickea el link que la dirige a la página de autenticación proxy-eada, a la cual el atacante desea obtener acceso. Si se desea obtener acceso a la cuenta de Gmail, por ejemplo, la víctima será dirigida a la página de Gmail, sólo que ésta estará proxy-eada.
  3. La víctima ingresa sus credenciales de acceso válidas, progresa a la etapa de autenticación de dos pasos, si ésta está configurada, y es dirigida a la URL especificada por el parámetro rc del link que el atacante preparó. En el caso de nuestro ejemplo, la URL es  https://www.youtube.com/watch?v=dQw4w9WgXcQ. En este punto, la cookie del parámetro rd ya se ha guardado para el dominio “linkdeejemplo.com» en el navegador de la víctima. A partir de ahora, si la cookie está presente, la víctima será dirigida inmediatamente a la URL rc cuando el link del phishing sea abierto nuevamente.
  4. Ahora el atacante tiene el nombre de usuario y contraseña de la víctima, así como la cookie de la sesión que puede ser importada hacia el navegador del atacante (con extensiones para los navegadores que permiten hacerlo) para obtener control completo de la sesión, eludiendo las protecciones relacionadas a la autenticación de dos pasos que la víctima haya habilitado para, valga la redundancia, proteger su cuenta.

Vídeo del desarrollador aquí:

Cabe destacar que este ataque fue publicado, como prueba de concepto, a principios de abril de 2017, y ya a fines de ese mes Kuba Gretzky publicó la versión 1.0 de Evilginx, que se está convirtiendo en un verdadero framework, incluso expansible, para ataques de este tipo. La recepción de la comunidad de investigadores en seguridad informática fue asombrosa, obtuvo mucha colaboración y feedback, lo que permite que Evilginx obtenga arquitectura de software modular, un proceso de fácil instalación y soporte para templates de diferentes websites, su propio generador de URLs, además de, incluso, lograr obtener certificados SSL/TLS y renovarlos automáticamente. Actualmente, este ataque funciona para websites tan usados como Google, Facebook, Dropbox, LinkedIn, etc. Del terror!

Video explicativo por Knowbe4