hacktricks/pentesting-web/2fa-bypass.md

94 lines
5.9 KiB
Markdown
Raw Normal View History

2022-04-28 16:01:33 +00:00
<details>
2023-04-25 18:35:28 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
2023-06-03 13:10:46 +00:00
- Travaillez-vous dans une entreprise de cybersécurité ? Voulez-vous voir votre entreprise annoncée dans HackTricks ? ou voulez-vous avoir accès à la dernière version de PEASS ou télécharger HackTricks en PDF ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
2022-04-28 16:01:33 +00:00
2023-06-03 13:10:46 +00:00
- Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
2022-04-28 16:01:33 +00:00
2023-06-03 13:10:46 +00:00
- Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
2022-04-28 16:01:33 +00:00
2023-06-03 13:10:46 +00:00
- **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) **groupe Discord** ou le [**groupe telegram**](https://t.me/peass) ou **suivez-moi** sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live).
2022-04-28 16:01:33 +00:00
2023-06-03 13:10:46 +00:00
- **Partagez vos astuces de piratage en soumettant des PR au [dépôt hacktricks](https://github.com/carlospolop/hacktricks) et au [dépôt hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
2022-04-28 16:01:33 +00:00
</details>
2023-06-03 13:10:46 +00:00
# **Contournement de l'authentification à deux facteurs**
2023-06-03 13:10:46 +00:00
## **Contournement direct**
2023-06-03 13:10:46 +00:00
Pour contourner la 2FA, il suffit de **tenter d'accéder directement à l'endpoint suivant** (vous devez connaître le chemin de l'endpoint suivant). Si cela ne fonctionne pas, essayez de changer l'en-tête **Referrer** comme si vous veniez de la page 2FA.
2023-06-03 13:10:46 +00:00
## **Réutilisation de jeton**
2023-06-03 13:10:46 +00:00
Peut-être pouvez-vous réutiliser un jeton précédemment utilisé à l'intérieur du compte pour vous authentifier.
2023-06-03 13:10:46 +00:00
## Partage de jetons inutilisés
2023-06-03 13:10:46 +00:00
Vérifiez si vous pouvez obtenir le jeton de votre compte et essayez de l'utiliser pour contourner la 2FA dans un compte différent.
2023-06-03 13:10:46 +00:00
## Jeton divulgué
2023-06-03 13:10:46 +00:00
Le jeton est-il divulgué dans une réponse de l'application web ?
2023-06-03 13:10:46 +00:00
## Permission de session
2023-06-03 13:10:46 +00:00
En utilisant la même session, démarrez le flux en utilisant votre compte et le compte de la victime. Lorsque vous atteignez le point 2FA sur les deux comptes, complétez le 2FA avec votre compte mais n'accédez pas à la partie suivante. Au lieu de cela, essayez d'accéder à l'étape suivante avec le flux du compte de la victime. Si le back-end ne définit qu'un booléen dans vos sessions indiquant que vous avez réussi à passer le 2FA, vous pourrez contourner la 2FA de la victime.
2023-06-03 13:10:46 +00:00
## **Fonction de réinitialisation de mot de passe**
2023-06-03 13:10:46 +00:00
Dans presque toutes les applications web, la **fonction de réinitialisation de mot de passe connecte automatiquement l'utilisateur à l'application** après que la procédure de réinitialisation est terminée.\
Vérifiez si un **e-mail** est envoyé avec un **lien** pour **réinitialiser le mot de passe** et si vous pouvez **réutiliser** ce **lien** pour réinitialiser le mot de passe autant de fois que vous le souhaitez (même si la victime change son adresse e-mail).
2022-05-01 12:41:36 +00:00
## OAuth
2023-06-03 13:10:46 +00:00
Si vous pouvez compromettre le compte de l'utilisateur dans une plateforme **OAuth** de confiance (Google, Facebook...).
2022-05-01 12:41:36 +00:00
## Brute force
2023-06-03 13:10:46 +00:00
### Absence de limite de taux
2023-06-03 13:10:46 +00:00
Y a-t-il une limite sur le nombre de codes que vous pouvez essayer, de sorte que vous pouvez simplement le brute forcer ? Soyez prudent avec une possible limite de taux "silencieuse", essayez toujours plusieurs codes puis le vrai pour confirmer la vulnérabilité.
2023-06-03 13:10:46 +00:00
### Limite de débit de flux mais pas de limite de taux
2023-06-03 13:10:46 +00:00
Dans ce cas, il y a une limite de débit de flux (vous devez le brute forcer très lentement : 1 thread et un peu de sommeil avant 2 essais) mais pas de limite de taux. Donc, avec suffisamment de temps, vous pouvez être en mesure de trouver le code valide.
2023-06-03 13:10:46 +00:00
### Renvoi du code et réinitialisation de la limite
2023-06-03 13:10:46 +00:00
Il y a une limite de taux mais lorsque vous "renvoyez le code", le même code est envoyé et la limite de taux est réinitialisée. Ensuite, vous pouvez brute forcer le code pendant que vous le renvoyez afin que la limite de taux ne soit jamais atteinte.
2023-06-03 13:10:46 +00:00
### Contournement de la limite de taux côté client
{% content-ref url="rate-limit-bypass.md" %}
[rate-limit-bypass.md](rate-limit-bypass.md)
{% endcontent-ref %}
2023-06-03 13:10:46 +00:00
### Absence de limite de taux dans le compte de l'utilisateur
2023-06-03 13:10:46 +00:00
Parfois, vous pouvez configurer la 2FA pour certaines actions à l'intérieur de votre compte (changer de courrier, de mot de passe...). Cependant, même dans les cas où il y a une limite de taux lorsque vous avez essayé de vous connecter, il n'y a pas de limite de taux pour protéger les actions à l'intérieur du compte.
2023-06-03 13:10:46 +00:00
### Absence de limite de taux lors de la réexpédition du code via SMS
2023-06-03 13:10:46 +00:00
Vous ne pourrez pas contourner la 2FA, mais vous pourrez gaspiller l'argent de l'entreprise.
2023-06-03 13:10:46 +00:00
### Régénération infinie de OTP
2023-06-03 13:10:46 +00:00
Si vous pouvez **générer un nouveau OTP un nombre infini de fois**, que l'**OTP est assez simple** (4 chiffres), et que vous pouvez essayer jusqu'à 4 ou 5 jetons par OTP généré, vous pouvez simplement essayer les mêmes 4 ou 5 jetons à chaque fois et générer des OTP jusqu'à ce qu'ils correspondent à ceux que vous utilisez.
2022-05-01 12:41:36 +00:00
## CSRF/Clickjacking
2023-06-03 13:10:46 +00:00
Vérifiez s'il existe une vulnérabilité de Cross Site Request Forgery (CSRF) ou de Clickjacking pour désactiver la 2FA.
2023-06-03 13:10:46 +00:00
## Fonctionnalité de mémorisation
2023-06-03 13:10:46 +00:00
### Cookie devinable
2023-06-03 13:10:46 +00:00
Si la fonctionnalité "se souvenir de moi" utilise un nouveau cookie avec un code devinable, essayez de le deviner.
2022-04-28 16:01:33 +00:00
2023-06-03 13:10:46 +00:00
### Adresse IP
2022-04-28 16:01:33 +00:00
2023-06-03 13:10:46 +00:00
Si la fonctionnalité "se souvenir de moi" est attachée à votre adresse IP,