Bypass 2FA Mechanism
Analicemos diferentes técnicas para eludir la autenticación de 2 factores:
1. Fuga de código de autenticación de 2 factores en respuesta:
En la solicitud de activación del código de autenticación de 2 factores, como la función Enviar OTP, capture la solicitud.
Vea la respuesta de esta solicitud y analice si se filtró el código de autenticación de 2 factores.
2. Análisis de archivos JS:
Al activar la solicitud de código de autenticación de 2 factores, analice todos los archivos JS a los que se hace referencia en respuesta para ver si algún archivo JS contiene información que pueda ayudar a evitar el código 2FA.
3. Falta de protección de fuerza bruta:
Esto implica todo tipo de problemas que surgen de configuraciones incorrectas de seguridad, como la falta de límite de velocidad, la falta de protección de fuerza bruta, etc.
Solicite un código de autenticación de 2 factores y capture la solicitud.
Repita esta solicitud de 100 a 200 veces y, si no hay una limitación establecida, se trata de un problema de límite de frecuencia.
En la página de Verificación del código de autenticación de 2 factores, intente usar la fuerza bruta para obtener una autenticación de 2 factores válida y vea si tiene éxito.
También puede intentar iniciar, solicitando OTP en un lado y fuerza bruta en el otro lado. En algún momento, la OTP coincidirá y puede darte un resultado rápido.
4. Restablecimiento de contraseña/Cambio de correo electrónico — Deshabilitar 2FA:
Suponiendo que puede realizar campañas de phishing sofisticadas, obligue al usuario final a cambiar la contraseña.
La autenticación de 2 factores se desactiva después de cambiar el correo electrónico o restablecer la contraseña. Esto podría ser un problema para algunas organizaciones. Sin embargo, depende de cada caso.
5. Falta la validación de integridad del código de autenticación de 2 factores:
Solicite un código de autenticación de 2 factores de la cuenta del atacante.
Use este código de autenticación de 2 factores válido en la solicitud 2FA de la víctima y vea si omite la protección 2FA.
6. Solicitud directa:
Navegue directamente a la página que viene después de la Autenticación de 2 factores o cualquier otra página autenticada de la aplicación y vea si esto pasa por alto las restricciones de la Autenticación de 2 factores.
7. Derivación de verificación de referencia 2FA:
Navegue directamente a la página que viene después de 2FA o cualquier otra página autenticada de la aplicación.
Si no tiene éxito, cambie el encabezado de referencia a la URL de la página 2FA. Esto puede engañar a la aplicación para que pretenda que la solicitud se produjo después de cumplir la condición 2FA.
8. Abuso del código de respaldo:
Aplique las mismas técnicas utilizadas en 2FA, como la manipulación de códigos de respuesta/estado, fuerza bruta, etc. para omitir los códigos de copia de seguridad y deshabilitar/restablecer 2FA.
9. Habilitar la autenticación de 2 factores no caduca la sesión anterior:
Inicie sesión en la aplicación en dos navegadores diferentes y habilite 2FA desde la primera sesión.
Utilice la segunda sesión y, si no ha caducado, podría ser un problema si hay un problema de caducidad de sesión insuficiente. En este escenario, si un atacante secuestra una sesión activa antes de la autenticación de 2 factores, es posible llevar a cabo todas las funciones sin necesidad de autenticación de 2 factores.
10. Clickjacking en la función de desactivación de 2FA:
Intente crear un marco flotante en la página en la que la aplicación le permite a un usuario deshabilitar la autenticación de 2 factores.
Si el vector de ataque iframe tiene éxito, intente realizar un ataque de ingeniería social para manipular a la víctima para que caiga en su trampa.
11. Manipulación de respuestas:
Verifique la respuesta de la Solicitud 2FA.
Si observa "Éxito": falso, cámbielo a "Éxito": verdadero y vea si omite el 2FA.
También puede usar las reglas de Burp "Combinar y reemplazar" para esto.
12. Manipulación del código de estado:
Si el código de estado de respuesta es 4xx como 401, 402, etc.
Cambie el código de estado de respuesta a "200 OK" y vea si omite el 2FA.
13. Reutilización del código de autenticación de 2 factores:
Solicite un código 2FA y utilícelo.
Ahora, reutilice el mismo código 2FA en otra sesión y, si se autentica correctamente, es un problema potencial.
Además, intente solicitar varios códigos 2FA y vea si los códigos solicitados anteriormente caducan o no cuando se solicita un código nuevo.
Además, intente reutilizar el código utilizado anteriormente después de un período de tiempo prolongado, es decir, 1 día o más. Si tiene éxito, eso es un problema, ya que 1 día es más que suficiente para que un hacker sofisticado utilice la fuerza bruta o descifre un código 2FA de 6 dígitos.
14. CSRF en la función de desactivación de 2FA:
Navegue a la página 2FA y haga clic en "Deshabilitar 2FA" y capture esta solicitud con Burp Suite y genere un CSRF PoC.
Envíe este PoC a la víctima, verifique si CSRF ocurre con éxito y elimine el 2FA de la cuenta de la víctima.
Además, verifique si se requiere alguna confirmación de autenticación, como una contraseña o un código 2FA, antes de deshabilitar 2FA.
Last updated