Las 6 mejores técnicas para atacar la autenticación de 2 factores
Introducción
La autenticación de dos factores (2FA) ha sido reconocida desde hace algún tiempo por la seguridad que puede brindar a las organizaciones. La combinación de algo que sabes, algo que tienes y algo que eres es el corazón y el alma de 2FA. Esto también ayuda a explicar su relativa seguridad.
A pesar de este hecho, se sabe que los atacantes tienen varias formas de atacar con éxito 2FA. Como hacker ético, es tu trabajo comprender estos posibles ataques.
Este artículo te detallará las seis técnicas principales para atacar a 2FA. Además, te presentará una imagen completa del tipo de atacantes de 2FA que puedes esperar encontrar cuando trabajes como un hacker ético.
¿Qué es la autenticación de dos factores (2FA)?
2FA es un método de autenticación que aporta una capa adicional de seguridad con los métodos comunes de seguridad de informática. En lugar de confiar únicamente en la combinación tradicional de nombre de usuario y contraseña, 2FA requiere que los usuarios se autentiquen con lo siguiente:
- Algo que sabes: contraseña, PIN, etc.
- Algo que tengas: tarjeta inteligente, token USB, etc.
- Algo que eres: voz, iris, huellas digitales, etc.
Hay dos formas de autenticar:
- Unidireccional: este es el tipo más común de autenticación. Este es un método de solo servidor/solo cliente, siendo la autenticación solo de servidor la más utilizada
- Bidireccional (autenticación mutua): tanto el cliente como el servidor deben autenticarse con este método. No es tan común como la autenticación unidireccional, pero es más segura.
Las 6 mejores técnicas para atacar la autenticación de dos factores
1. Ingeniería social
Sin duda, la mejor técnica para atacar 2FA es la ingeniería social. 2FA depende en gran medida del conocimiento que solo sabe el usuario. Cuando un sitio web o servicio que utiliza 2FA aparentemente no funciona, los usuarios naturalmente se ponen en contacto con el soporte técnico. Existen casos donde atacantes simulan ser de soporte técnico y mediante ingeniería social logran que el usuario restablezca su contraseña o roban información confidencial relacionada con 2FA.
Este es un punto natural de vulnerabilidad para 2FA. Cualquier interacción con soporte técnico hará que las probabilidades de divulgación de información confidencial del usuario sean casi inevitables. Bastará con hacer solo unas pocas preguntas (o ninguna, si el usuario ofrece voluntariamente esta información) para lograr el objetivo.
2. Secuestro de cookies de sesión
El secuestro de cookies de sesión ha estado con nosotros desde los inicios de las computadoras en red. Se ha dicho que hay cientos de formas de realizar el secuestro de cookies de sesión incluso si se usa 2FA para la autenticación.
El experto en ciberseguridad Kevin Mitnick demostró un método recientemente publicitado para realizar esta técnica. Lo hizo utilizando un framework de ataque de hombre en el medio llamado evilginx.
Esto implicaba engañar a una víctima para que visitara un dominio con errores tipográficos y presentarle al usuario una página de inicio de sesión proxy. La interacción del usuario permitió a evilginx capturar las credenciales de inicio de sesión del usuario y el código de autenticación, que luego se usa en el sitio legítimo. El resultado final fue una cookie de sesión capturada que se puede usar indefinidamente.
3. Generador de código duplicado
Dependiendo de cómo tu organización haya implementado 2FA, se pueden usar generadores de códigos o números para generar “algo que tú sabes” (véase Google Authenticator).
Los generadores de números “aleatorios” normalmente comienzan con un valor base generado al azar. Asimismo, este valor se utiliza para generar el primer número en el código. El algoritmo utiliza este primer valor para generar los valores de código subsiguientes. Si los atacantes aprenden el algoritmo y el número base, pueden usar esta información para crear un generador de código duplicado. Este número será idéntico al generador de código del usuario comprometido.
4. Autenticación de dos factores “no requerida”
Es posible que algunos sitios web y servicios que permiten a los usuarios usar 2FA no lo requieran, lo que significa que el usuario no tiene 2FA verdadero. Por el contrario, el acceso a 1FA seguirá estando disponible tanto para el usuario como para los atacantes. Lo anterior significa que los atacantes pueden usar 1FA para acceder al sitio o servicio.
Lo inquietante de esto es que muchos sitios web ampliamente utilizados, incluidos Facebook, LinkedIn y Twitter, no requieren 2FA a pesar de que lo ofrecen. En casos como estos, los atacantes pueden evadir 2FA al proporcionar respuestas a las preguntas de restablecimiento de contraseña que son mucho menos seguras.
5. Fuerza bruta
¿Qué serían los ataques de autenticación sin los ataques de fuerza bruta por excelencia? Aunque 2FA ofrece una mejor seguridad que 1FA, la fuerza bruta puede ayudar a los atacantes a evadirlo.
Los ataques de fuerza bruta son posibles si la pantalla de autenticación 2FA no impone bloqueos de cuenta para un número predeterminado de intentos fallidos. Esto funciona cuando el atacante envía un mensaje de restablecimiento de contraseña al correo electrónico del usuario comprometido. El atacante puede navegar a este correo electrónico de restablecimiento de contraseña y establecer una nueva contraseña. Luego, simplemente debe usar fuerza bruta para obtener el código 2FA del usuario.
6. Autenticación de dos factores con errores
Los errores siguen siendo una realidad en el mundo de hoy y esto se extiende al mundo de 2FA. En el último año más o menos, ha habido varios ejemplos de esto que afectan a sitios web y servicios ampliamente utilizados, incluido Uber.
Lo peligroso de los errores 2FA es el gran volumen de máquinas que puede afectar. Por ejemplo, en 2017 se descubrió que la vulnerabilidad Return of Coppersmith’s Attack vulnerability (ROCA) afectaba a todos los productos 2FA. Esta vulnerabilidad incluía las tarjetas inteligentes y los chips TPM, que utilizan claves RSA de 2048 bits generadas por Infineon Technologies (que son la mayoría). Hasta el día de hoy, hay cientos de millones de dispositivos afectados.
Conclusión
La autenticación de dos factores fue una importante actualización de seguridad para muchos sitios web y servicios, y de hecho lo ha sido. Dicho esto, los atacantes han estado utilizando las vulnerabilidades innatas de la tecnología y su implementación para atacar a 2FA. Todo lo anterior permite acceder a un sitio web, un servicio e incluso un sistema.
Los hackers éticos deben conocer estas diferentes técnicas de ataque 2FA. Esto se debe a que es probable que al menos una de estas técnicas se use contra tu organización en algún momento.