# 2FA/OTP Bypass
Aprende hacking en AWS desde cero hasta experto con htARTE (Experto en Equipo Rojo de AWS de HackTricks)!
Otras formas de apoyar a HackTricks:
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
## **Técnicas Avanzadas de Bypass de Autenticación de Dos Factores**
### **Acceso Directo al Punto Final**
Para evitar el 2FA, accede directamente al punto final siguiente, es crucial conocer la ruta. Si no tienes éxito, modifica el **encabezado Referrer** para simular la navegación desde la página de verificación de 2FA.
### **Reutilización de Tokens**
Reutilizar tokens previamente utilizados para la autenticación dentro de una cuenta puede ser efectivo.
### **Utilización de Tokens no Utilizados**
Intentar extraer un token de tu propia cuenta para evitar el 2FA en otra cuenta.
### **Exposición del Token**
Investigar si el token se revela en una respuesta de la aplicación web.
### **Explotación del Enlace de Verificación**
Usar el **enlace de verificación por correo electrónico enviado al crear la cuenta** puede permitir el acceso al perfil sin 2FA, como se destaca en un [post](https://srahulceh.medium.com/behind-the-scenes-of-a-security-bug-the-perils-of-2fa-cookie-generation-496d9519771b) detallado.
### **Manipulación de Sesiones**
Iniciar sesiones tanto para la cuenta del usuario como para la de la víctima, y completar el 2FA para la cuenta del usuario sin proceder, permite intentar acceder al siguiente paso en el flujo de la cuenta de la víctima, explotando las limitaciones de gestión de sesiones del backend.
### **Mecanismo de Restablecimiento de Contraseña**
Investigar la función de restablecimiento de contraseña, que inicia sesión de un usuario en la aplicación después del restablecimiento, para ver su potencial para permitir múltiples restablecimientos usando el mismo enlace es crucial. Iniciar sesión con las credenciales recién restablecidas podría evitar el 2FA.
### **Compromiso de Plataforma OAuth**
Comprometer la cuenta de un usuario en una plataforma **OAuth** de confianza (por ejemplo, Google, Facebook) puede ofrecer una ruta para evitar el 2FA.
### **Ataques de Fuerza Bruta**
#### **Ausencia de Límite de Tasa**
La falta de un límite en el número de intentos de código permite ataques de fuerza bruta, aunque se debe considerar un posible límite de tasa silencioso.
#### **Fuerza Bruta Lenta**
Un ataque de fuerza bruta lento es viable donde existen límites de velocidad de flujo sin un límite de tasa general.
#### **Restablecimiento del Límite de Reenvío de Código**
Reenviar el código restablece el límite de tasa, facilitando intentos continuos de fuerza bruta.
#### **Circunvención del Límite de Tasa del Lado del Cliente**
Un documento detalla técnicas para evitar los límites de tasa del lado del cliente.
#### **Acciones Internas sin Límite de Tasa**
Los límites de tasa pueden proteger los intentos de inicio de sesión pero no las acciones de cuenta internas.
#### **Costos de Reenvío de Código SMS**
El reenvío excesivo de códigos a través de SMS incurre en costos para la empresa, aunque no evita el 2FA.
#### **Regeneración Infinita de OTP**
La generación infinita de OTP con códigos simples permite la fuerza bruta al volver a intentar un pequeño conjunto de códigos.
### **Explotación de Condiciones de Carrera**
La explotación de condiciones de carrera para evitar el 2FA se puede encontrar en un documento específico.
### **Vulnerabilidades de CSRF/Clickjacking**
Explorar vulnerabilidades de CSRF o Clickjacking para deshabilitar el 2FA es una estrategia viable.
### **Explotación de la Función "Recuérdame"**
#### **Valores de Cookies Predecibles**
Adivinar el valor de la cookie "recuérdame" puede evitar restricciones.
#### **Suplantación de Direcciones IP**
Suplantar la dirección IP de la víctima a través del encabezado **X-Forwarded-For** puede evitar restricciones.
### **Utilización de Versiones Antiguas**
#### **Subdominios**
Probar subdominios puede usar versiones antiguas que carecen de soporte 2FA o contienen implementaciones de 2FA vulnerables.
#### **Puntos Finales de API**
Las versiones antiguas de API, indicadas por rutas de directorio /v\*, pueden ser vulnerables a métodos de bypass de 2FA.
### **Manejo de Sesiones Anteriores**
Terminar sesiones existentes al activar el 2FA asegura las cuentas contra accesos no autorizados desde sesiones comprometidas.
### **Fallos de Control de Acceso con Códigos de Respaldo**
La generación inmediata y la posible recuperación no autorizada de códigos de respaldo al activar el 2FA, especialmente con misconfiguraciones CORS/vulnerabilidades XSS, plantea un riesgo.
### **Divulgación de Información en la Página de 2FA**
La divulgación de información sensible (por ejemplo, número de teléfono) en la página de verificación de 2FA es una preocupación.
### **Desactivación de Restablecimiento de Contraseña 2FA**
Un proceso que demuestra un posible método de bypass implica la creación de cuenta, activación de 2FA, restablecimiento de contraseña y posterior inicio de sesión sin el requisito de 2FA.
### **Solicitudes Señuelo**
Utilizar solicitudes señuelo para oscurecer los intentos de fuerza bruta o engañar a los mecanismos de limitación de velocidad agrega otra capa a las estrategias de bypass. Crear tales solicitudes requiere una comprensión matizada de las medidas de seguridad de la aplicación y los comportamientos de limitación de velocidad.
## Referencias
* [https://medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35](https://github.com/carlospolop/hacktricks/blob/es/pentesting-web/%22https:/medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35%22/README.md)
* [https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718](https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718)
Aprende hacking en AWS desde cero hasta experto con htARTE (Experto en Equipo Rojo de AWS de HackTricks)!
Otras formas de apoyar a HackTricks:
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).