<summary><strong>Aprende hacking en AWS de cero a héroe con</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Si quieres ver a tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** revisa los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de GitHub de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
Para hacer bypass de 2FA, simplemente **intenta acceder directamente al siguiente endpoint** (necesitas conocer la ruta del siguiente endpoint). Si esto no funciona, intenta cambiar el **encabezado Referrer** como si vinieras de la página de 2FA.
Intenta usar el **enlace de verificación de correo electrónico recibido cuando se creó la cuenta** para ver si, incluso si se configuró el 2FA, aún puedes acceder a tu perfil solo con ese enlace ([post](https://srahulceh.medium.com/behind-the-scenes-of-a-security-bug-the-perils-of-2fa-cookie-generation-496d9519771b)).
Usando la misma sesión, inicia el flujo usando tu cuenta y la cuenta de la víctima. Al llegar al punto de 2FA en ambas cuentas, completa el 2FA con tu cuenta pero no accedas a la siguiente parte. En lugar de eso, intenta acceder al siguiente paso con el flujo de la cuenta de la víctima. Si el back-end solo estableció un booleano dentro de tus sesiones indicando que has pasado exitosamente el 2FA, podrás hacer bypass del 2FA de la víctima.
En casi todas las aplicaciones web, la **función de restablecimiento de contraseña inicia sesión automáticamente al usuario en la aplicación** después de que se completa el procedimiento de restablecimiento.\
Verifica si se envía un **correo** con un **enlace** para **restablecer la contraseña** y si puedes **reutilizar** ese **enlace** para restablecer la contraseña **tantas veces como quieras** (incluso si la víctima cambia su dirección de correo electrónico).
Otra opción para hacer bypass de 2FA con la funcionalidad de restablecimiento de contraseña es **restablecer la contraseña con acceso al correo** y usar la **nueva contraseña para iniciar sesión**, podría ser posible que después de un cambio de contraseña no se use el 2FA.
¿Hay algún límite en la cantidad de códigos que puedes intentar, para que puedas simplemente forzarlo por fuerza bruta? Ten cuidado con un posible límite de tasa "silencioso", siempre intenta varios códigos y luego el real para confirmar la vulnerabilidad.
En este caso, hay un límite de tasa en el flujo (tienes que forzarlo muy lentamente: 1 hilo y algo de sueño antes de 2 intentos) pero no hay límite de tasa. Entonces, con suficiente tiempo, podrás encontrar el código válido.
Hay un límite de tasa pero cuando "reenvías el código" se envía el mismo código y el límite de tasa se restablece. Entonces, puedes forzar el código mientras lo reenvías para que el límite de tasa nunca se alcance.
A veces puedes configurar el 2FA para algunas acciones dentro de tu cuenta (cambiar correo, contraseña...). Sin embargo, incluso en casos donde hay un límite de tasa cuando intentaste iniciar sesión, no hay ningún límite de tasa para proteger acciones dentro de la cuenta.
Si puedes **generar un nuevo OTP infinitas veces**, el OTP es **suficientemente simple** (4 números), y puedes intentar hasta 4 o 5 tokens por OTP generado, puedes simplemente intentar los mismos 4 o 5 tokens cada vez y generar OTPs hasta que coincida con los que estás usando.
Si la funcionalidad de "recordarme" está vinculada a tu dirección IP, puedes intentar averiguar la dirección IP de la víctima e impersonarla usando el encabezado **X-Forwarded-For**.
Si puedes encontrar algunos subdominios de "pruebas" con la funcionalidad de inicio de sesión, podrían estar usando versiones antiguas que no admiten 2FA (por lo que se hace bypass directamente) o esos endpoints podrían admitir una versión vulnerable del 2FA.
Si encuentras que el 2FA está usando una API ubicada bajo un directorio /v\*/ (como "/v3/"), esto probablemente significa que hay endpoints de API más antiguos que podrían ser vulnerables a algún tipo de bypass de 2FA.
Cuando se habilita el 2FA, las sesiones creadas anteriormente deberían finalizarse. Esto se debe a que cuando un cliente tiene su cuenta comprometida, podría querer protegerla activando el 2FA, pero si las sesiones anteriores no se finalizan, esto no lo protegerá.
Los códigos de respaldo se generan inmediatamente después de que se habilita el 2FA y están disponibles en una sola solicitud. Después de cada llamada subsiguiente a la solicitud, los códigos pueden regenerarse o permanecer sin cambios (códigos estáticos). Si hay configuraciones erróneas de CORS/vulnerabilidades de XSS y otros errores que te permiten "extraer" códigos de respaldo de la solicitud de respuesta del endpoint de códigos de respaldo, entonces el atacante podría robar los códigos y hacer bypass del 2FA si se conocen el nombre de usuario y la contraseña.
Si notas que aparece alguna información confidencial en la página de 2FA que no conocías previamente (como el número de teléfono), entonces esto puede considerarse una vulnerabilidad de divulgación de información.
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Si quieres ver a tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** revisa los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de GitHub de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).