Vídeo de YouTube:
https://www.youtube.com/watch?v=f-ihIk1Izpw
Artículo
En este episodio resumiremos el análisis que realiza Mazen en su canal de YouTube en el que se examinan diversas vulnerabilidades de seguridad relacionadas con la autenticación de dos factores, o 2FA, basándose en escenarios de la vida real y programas de recompensas por errores.
El primer caso presentado se centra en una falla de seguridad conocida como "sin límite de tasa" en el código PIN de la autenticación de dos factores. Esto permite un número ilimitado de intentos para adivinar un código PIN de seis dígitos.
El presentador explica la diferencia entre un código PIN de 2FA, que suele ser estático, y un código OTP, que es de un solo uso y se genera dinámicamente, por ejemplo, a través de correo electrónico. La vulnerabilidad se aplica a los códigos PIN estáticos.
Para demostrar el riesgo, se utiliza una herramienta de interceptación de tráfico para realizar un ataque de fuerza bruta. El atacante puede probar miles de combinaciones de PIN en poco tiempo, ya que el sistema no bloquea los intentos fallidos.
La demostración muestra cómo, tras múltiples intentos fallidos que devuelven un código de estado 401 y un mensaje de código inválido, un intento con el PIN correcto resulta en un código de estado 200 y una redirección exitosa a la cuenta. Esto confirma la falta de protección contra ataques de fuerza bruta.
El segundo escenario aborda una vulnerabilidad de manipulación de respuestas. En este caso, al iniciar sesión, la respuesta del servidor indica si se requiere 2FA. Interceptando esta respuesta, el atacante puede modificar el valor de "requires_2fa" de "true" a "false".
Esta manipulación client-side engaña al sistema, permitiendo el acceso a la cuenta sin necesidad de introducir el código 2FA. El fallo radica en que la validación de la sesión no se realiza de forma robusta en el lado del servidor.
Finalmente, se examina una tercera vulnerabilidad inusual que implica la manipulación de la URL. Si se eliminan ciertos parámetros identificadores del usuario en la URL de verificación de 2FA, el sistema aún concede acceso a la cuenta. Esto indica una infraestructura de backend especialmente débil.
Estas vulnerabilidades resaltan la necesidad crítica de implementar controles de seguridad robustos. Es fundamental que los sistemas de autenticación de dos factores no dependan únicamente de validaciones del lado del cliente y que se apliquen límites de tasa estrictos en todos los intentos de verificación. Además, la validación de los parámetros en las URLs y la correcta gestión del estado de la sesión en el servidor son esenciales para proteger la integridad de las cuentas de usuario.


