Phishing: La ‘Autenticación en Dos Pasos’ ha sido quebrada

Los ataques evolucionan, y con ello también la seguridad, formándose un ciclo que nunca acaba. Y esto es justamente lo que ha pasado con la ‘Verificación de dos pasos’ que llegó para ofrecernos mayor seguridad a la hora de entrar a nuestras cuentas, pero que actualmente está siendo utilizada en sofisticados ataques de Phishing.

¿Qué es la verificación en dos pasos?

Para poder entender cómo funciona este nuevo ataque debemos comprender bien qué es la verificación en dos pasos, también llamada autenticación en dos factores o doble factor (2AF). Básicamente es un sistema que añade una capa de seguridad a tus cuentas al iniciar sesión.

Durante los últimos años su uso se ha ido masificado de forma enorme, y ha sido adoptado por numerosas compañías. Ejemplo de ello es la implementación de este sistema por parte de Google ¿Lo tienes activado en tus cuentas?

Pero, ¿cómo funciona esta nueva capa de seguridad?  En simples palabras, con este sistema no basta solo con tener la contraseña para iniciar sesión; sino que además, el sistema te pedirá confirmar tu identidad de otra forma, como con un factor diferente. ¿Cuál? Puede ser un código que envíen a tu teléfono por un SMS, una llamada, e incluso algunos sistemas hacen uso de otras herramientas como huellas dactilares.

El Phishing, una vez más

Lo que ha llamado la atención este último tiempo a los investigadores de seguridad, es que los ciberdelincuentes han logrado engañar a los usuarios con técnicas de phishing para derribar la protección de los sistemas 2FA. ¿Cómo es que estos sistemas se han vuelto inseguros? Tratemos de entenderlo imaginando la siguiente situación:

Los ciberdelincuentes puede construir páginas web que simulen la interfaz de alguna página, por ejemplo, de Facebook. Cuando la víctima intente loguearse en el sitio, ingresará sus credenciales de acceso, pero también le pedirá el segundo factor de autenticación que le llegará vía SMS; luego de ingresarlo, esta réplica redirigirá a la víctima al sitio oficial sin causar ninguna sospecha. El atacante capturará los datos del inicio de sesión, y la víctima ni siquiera se habrá percatado de que pudo ocurrir algo así.

La clave de lo anterior está en las APIs (Application Programming Interface) de estos sistemas. Los sitios maliciosos las utilizan para efectivamente para verificar las credenciales de acceso de la víctima al sitio en cuestión, pero el sitio es malicioso, y por tanto, captura estos datos.

Hace un tiempo fue el sistema de autenticación de Steam el que se vio envuelto en un ataque. Los ciberdelincuentes simularon una página web para la compra de juegos digitales que podían ser utilizados en la plataforma. Cuando la víctima intentaba realizar una acción, como la compra de un juego, se le pedía loguearse a su cuenta Steam a través del sistema Steam Auth. Para ello, la página maliciosa llevaba a la víctima a un pop-up que simulaba la página de autenticación original, y le solicitaba a la víctima su usuario y contraseña. El sistema, comprobaba a través de la Steam Auth API que las credenciales eran auténticas, y le solicitaba el código 2FA al usuario. Una vez que este factor era ingresado, el sitio malicioso obtenía el acceso a la cuenta Steam de la víctima sin que ella se diera cuenta.

Lo interesante de este nuevo tipo de ataque es que permite guardar la información de sólo los inicios de sesión validados. De esta manera, y por el contrario de los phishings clásicos, el atacante se ahorra una gran cantidad de tarea al sólo tener datos que serán válidos. Todo lo anterior habla de cómo estos ataques son mucho más sofisticados que los tradicionales.

Automatizando los ataques: Muraena y NecroBrowser

Pero lo que hemos mencionado implica un alto grado de conocimientos por parte de los atacantes, y una sofisticación a alto nivel de la técnica de phishing clásica; Muraena y NecroBrowser van un paso más allá. Estas dos herramientas tienen como objetivo automatizar estos ataques de phishing y así eludir la autenticación en dos pasos.

Muraena es un proxy inverso, mientras que NecroBrowser es un contenedor Docker para automatizar instancias Chronium. Ok… lo anterior probablemente no fue muy fácil de digerir, pero básicamente estas herramientas son las que ayudan a enviar las solicitudes legítimas a los sitios web de los cuales se quiere obtener el acceso. Veamos cómo funciona cada una de ellas:

Muraena, una vez que ha sido desplegada, permite al atacante configurar un dominio de suplantación de identidad, y así obtener un certificado legítimo para él. Además, la herramienta contiene un servidor web que actúa como un proxy inverso, al contener un rastreador que determina automáticamente los recursos proxy del sitio legítimo. Muraena por tanto reescribe de forma ‘transparente’ las solicitudes recibidas de la víctima antes de transmitirlas (mediante la generación de un archivo de configuración JSON).

Archivo .JSON

Una vez que la víctima ya ha ingresado al sitio web malicioso, que cuenta con la tecnología de Muraena, el proceso de inicio de sesión funcionará exactamente igual como en el sitio real (Tal como ya lo habíamos mencionado). Cuando se proporcionan los datos, el proxy roba los cookies de la sesión. El enganche viene ahora. Muraena puede pasar automáticamente las cookies de sesión recopiladas a una segunda herramienta: NecroBrowser, que puede comenzar a abusar de ellas.

NecroBrowser es un microservicio que puede controlarse a través de una API, y configurarse para realizar acciones a través de instancias Chronium, que se ejecutarán dentro de contenedores Dockers. Dependiendo de los recursos del atacante, y su servidor, el ciberdelincuente puede generar docenas o cientos de estos contenedores de forma simultánea, cada uno con una cookie de sesión robada.

El problema que viene ahora es que todas estas instancias de sesiones robadas pueden automatizarse aún más para realizar distintas acciones: tomar capturas de correos electrónicos, restablecer contraseñas, recopilar información de los contactos de la cuenta, o incluso para enviar mensajes phishing del mismo tipo a los contactos de la víctima. De esta manera se crea algo similar a lo que conocemos como una botnet.

Nuevos peligros, nuevas soluciones

Parece ser que protegernos cada vez se vuelve más complicado, pero una alternativa que ha llamado la atención este último tiempo son las ‘Llaves de Seguridad USB’. Tienen el aspecto de un dispositivo USB, y basta con tenerlas conectada a nuestros equipos para tener un mecanismo 2FA de seguridad que estaría exento a la técnica de phishing que hemos revisado, ya que el sistema valida un dispositivo físico como factor final.

Lo otro va por el sentido común, desconfía de todo aquello que parezca sospechoso. Sitios que insistan constantemente en que inicies sesión con la cuenta de otro sitio no deberían generarte mucha confianza

La siguiente situación te ayudará a poner más atención: Imagina que el sitio web malicioso te pide que inicies sesión con tu cuenta del sitio A; una buena opción es abrir otra pestaña e ir específicamente a la página del sitio A e iniciar sesión. Una vez logueado, si el sitio malicioso lanza un pop-up para que ingreses a través del sitio A, no debería por qué preguntarte por tus credenciales de inicio de sesión ¡La sesión ya la habíamos iniciado! Sino que simplemente debería pedirte vincular las cuentas.