Hackers automatizan la evasión a la autenticación de dos factores (2FA)

Piotr Duszyński, un investigador y desarrollador polaco, liberó, a principios de 2019, Modlishka, un programilla que actúa como reverse proxy para lograr evadir la 2FA. La herramienta permite automatizar campañas de phishing, para hacerlasmás convincentes y fáciles de configurar que nunca.

La Ingeniería Social ha sido, desde los comienzos del hacking, la herramienta más efectiva para lograr penetrar la seguridad de las organizaciones. A medida que pasa el tiempo, se ha ido sofisticando. Junto con el auge del e-mail, llegó el phishing, que ha evolucionado de la mano de las medidas de seguridad para evitarlo.

Actualmente, además de enviar correos con apariencias similares a los legítimos, los estafadores engañan a las víctimas para que ingresen sus credenciales en sitios web de suplantación de identidad mediante la duplicación de la apariencia del sitio original lo más cerca posible.

Entonces surgió la Autenticación de Dos Factores, pretendiendo añadir un nivel de seguridad adicional, inquebrantable, para solucionar el problema del phishing y de la obtención ilegítima de contraseñas. Se cerraba un agujero, pero pronto se crearía otro, y ya investigadores han encontrado formas para saltarse la 2FA. Ahora es el turno de Modlishka, que no sólo la evade, sino que además, automatiza esta práctica.

“A lo largo de muchos años de mi experiencia en pruebas de penetración, he encontrado que la «ingeniería social» es la forma más fácil y efectiva de ingresar a la red interna de mis clientes. Sé que muchos grupos de APT piensan lo mismo… Esto es porque uno definitivamente no necesita quemar un exploit de 0 días para todas esas sofisticadas defensas de seguridad de primera categoría que están protegiendo el perímetro, cuando a menudo sólo unos pocos correos electrónicos o llamadas telefónicas funcionarán perfectamente para comprometer la infraestructura interna y los datos confidenciales de las empresas.»

Modlishka fue escrito con el objetivo de hacer que el segundo enfoque (campañas de phishing) sea lo más efectivo posible.” Dijo Piotr en la publicación de blog de Modlishka.

Modlishka. Reverse Proxy. Phishing NG

Modlishka significa “mantis religiosa”. Es una herramienta de proxy inverso que se asienta en un servidor web y toma el contenido del sitio web original que desea suplantar, produciendo una réplica perfecta. Se ubica entre un usuario y cualquier sitio web en el que el usuario está iniciando sesión, ya sea correo web, comercio electrónico, cuentas de servicios públicos, lo que sea. Permite, entonces, que el contenido legítimo del sitio web se muestre al usuario, y luego intercepta todo el tráfico que fluye de un lado a otro. Por lo tanto, un atacante en tiempo real no solo puede observar las credenciales de la víctima, sino también el código 2FA que ingresa. Entonces, cuando una víctima ingresa su nombre de usuario, contraseña y otra información confidencial en el servidor del delincuente, los datos también se transfieren al sitio web original, lo que hace que parezca que han completado un inicio de sesión perfectamente normal y exitoso.

Todas las contraseñas también se registran automáticamente en el panel backend de Modlishka, por lo que incluso si un adversario no está sentado allí esperando frente al terminal, aún puede obtener las credenciales de forma pasiva.

Modlishka no requiere que le añadan los templates de los sitios web que se desean suplantar, sino sólo los dominios, y el resto lo hace de forma automática, por ende facilita tremendamente la tarea del pentesting (y la tarea de los criminales!). Sólo requiere de un certificado TLS válido, de modo que la ausencia de una conexión HTTPS no levante alarmas. 

Modlishka:

– Otorga soporte para la mayoría de los esquemas de autenticación 2FA (por diseño).
– No requiere de plantillas de sitio web (solo apunta Modlishka al dominio de destino, en la mayoría de los casos, se manejará automáticamente).
– Controla totalmente el flujo de tráfico TLS de origen «cruzado» desde los navegadores de sus víctimas.
– Escenarios de phishing flexibles y fácilmente configurables a través de opciones de configuración.
– Inyección de payloads de JavaScript basada en patrones.
– Elimina todos los encabezados de seguridad y cifrado del sitio web (de vuelta al estilo MITM de los 90).
– Recolecta credenciales de usuario (con contexto basado en identificadores de parámetros de URL pasados)
– Se puede ampliar con tus ideas a través de plugins.
– Diseño sin estado. Se puede ampliar fácilmente para un número arbitrario de usuarios, por ejemplo, a través de un equilibrador de carga DNS.
– Panel web con un resumen de las credenciales recopiladas y la suplantación de sesión de usuario (beta).
– Escrita en Go

«Con el correcto proxy inverso dirigido a su dominio a través de un canal de comunicación cifrado y confiable para el navegador, uno puede tener serias dificultades para darse cuenta de que algo está muy mal», dijo Duszyński en su publicación. «Agréguale a la ecuación diferentes errores de navegador, que permiten la suplantación de la barra de URL, y el problema podría ser aún más grande … incluir la falta de conocimiento del usuario, y literalmente significa entregar sus activos más valiosos a sus adversarios en una placa de plata».

Modlishka está disponible en GitHub. Fue creada con fines educativos, para uso en pentests legítimos y como prueba de concepto de que la 2FA no es inquebrantable.

“Creo que sin una prueba de concepto que funcione, que realmente pruebe el punto, el riesgo es tratado como sólo teórico y no se toman medidas reales para enfrentarlo correctamente. Este status quo y falta de awareness acerca del riesgo es una situación perfecta para que actores maliciosos la exploten felizmente”.

Modlishka puede, además, saltarse el Captcha 2.0

Y entonces?

Las pruebas de concepto, reales, prácticas y funcionales que demuestran la vulnerabilidad de la 2FA están hace tiempo en práctica. No es la primera vez que reportamos acerca de la debilidad de la autenticación de dos factores. Entonces.. qué podemos hacer para protegernos? El mismo Duszyński recomienda:

Actualmente, la única forma de abordar este problema, desde una perspectiva técnica, es confiar en los tokens de hardware 2FA, que se basan en el protocolo U2F. Puedes comprarlos fácilmente en línea. Sin embargo, recuerde que la correcta awareness del usuario es igual de importante.

Resumiendo, deberías:

  • Usar tokens de hardware U2F como su segundo factor de autenticación.
  • Usar administradores de contraseñas, que asegurarán que el nombre de dominio en su navegador sea correcto antes de pegar la contraseña.
  • Aumentar constantemente la conciencia o awareness del usuario sobre las técnicas actuales de ingeniería social