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

181 lines
9.8 KiB
Markdown

# 2FA/MFA/OTP Bypass
{% hint style="success" %}
Lernen & üben Sie AWS Hacking:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
Lernen & üben Sie GCP Hacking: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)!
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
</details>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) ist eine **dark-web**-unterstützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden.
Das Hauptziel von WhiteIntel ist es, Kontenübernahmen und Ransomware-Angriffe zu bekämpfen, die durch informationsstehlende Malware verursacht werden.
Sie können ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter:
{% embed url="https://whiteintel.io" %}
***
## **Erweiterte Techniken zum Umgehen der Zwei-Faktor-Authentifizierung**
### **Direkter Zugriff auf Endpunkte**
Um 2FA zu umgehen, greifen Sie direkt auf den nachfolgenden Endpunkt zu, wobei der Pfad entscheidend ist. Wenn dies nicht erfolgreich ist, ändern Sie den **Referrer-Header**, um die Navigation von der 2FA-Überprüfungsseite zu imitieren.
### **Token-Wiederverwendung**
Die Wiederverwendung zuvor verwendeter Tokens zur Authentifizierung innerhalb eines Kontos kann effektiv sein.
### **Nutzung ungenutzter Tokens**
Es kann versucht werden, ein Token aus dem eigenen Konto zu extrahieren, um 2FA in einem anderen Konto zu umgehen.
### **Offenlegung des Tokens**
Untersuchen Sie, ob das Token in einer Antwort der Webanwendung offengelegt wird.
### **Ausnutzung des Bestätigungslinks**
Die Verwendung des **E-Mail-Bestätigungslinks, der bei der Kontoerstellung gesendet wird**, kann den Zugriff auf das Profil ohne 2FA ermöglichen, wie in einem detaillierten [Beitrag](https://srahulceh.medium.com/behind-the-scenes-of-a-security-bug-the-perils-of-2fa-cookie-generation-496d9519771b) hervorgehoben.
### **Sitzungsmanipulation**
Das Initiieren von Sitzungen sowohl für das Konto des Benutzers als auch für das Konto eines Opfers und das Abschließen von 2FA für das Konto des Benutzers, ohne fortzufahren, ermöglicht den Versuch, auf den nächsten Schritt im Ablauf des Opfers zuzugreifen und die Einschränkungen des Backend-Sitzungsmanagements auszunutzen.
### **Passwortzurücksetzmechanismus**
Die Untersuchung der Passwortzurücksetzfunktion, die einen Benutzer nach dem Zurücksetzen in die Anwendung einloggt, ist entscheidend, um festzustellen, ob mehrere Zurücksetzungen mit demselben Link möglich sind. Das Einloggen mit den neu zurückgesetzten Anmeldeinformationen könnte 2FA umgehen.
### **Kompromittierung der OAuth-Plattform**
Die Kompromittierung eines Benutzerkontos auf einer vertrauenswürdigen **OAuth**-Plattform (z. B. Google, Facebook) kann einen Weg bieten, 2FA zu umgehen.
### **Brute-Force-Angriffe**
#### **Fehlende Ratenbegrenzung**
Das Fehlen einer Begrenzung der Anzahl der Codeversuche ermöglicht Brute-Force-Angriffe, obwohl potenzielle stille Ratenbegrenzungen berücksichtigt werden sollten.
#### **Langsame Brute-Force**
Ein langsamer Brute-Force-Angriff ist möglich, wenn Flussratenbegrenzungen existieren, ohne dass eine übergeordnete Ratenbegrenzung besteht.
#### **Zurücksetzen der Code-Wiederholungsgrenze**
Das erneute Senden des Codes setzt die Ratenbegrenzung zurück und erleichtert fortgesetzte Brute-Force-Versuche.
#### **Umgehung der clientseitigen Ratenbegrenzung**
Ein Dokument beschreibt Techniken zur Umgehung der clientseitigen Ratenbegrenzung.
#### **Interne Aktionen ohne Ratenbegrenzung**
Ratenbegrenzungen können Login-Versuche schützen, jedoch nicht interne Kontenaktionen.
#### **Kosten für das erneute Senden von SMS-Codes**
Übermäßiges erneutes Senden von Codes per SMS verursacht Kosten für das Unternehmen, umgeht jedoch nicht 2FA.
#### **Unendliche OTP-Regeneration**
Endlose OTP-Generierung mit einfachen Codes ermöglicht Brute-Force durch das Wiederholen einer kleinen Menge von Codes.
### **Ausnutzung von Race Conditions**
Die Ausnutzung von Race Conditions zum Umgehen von 2FA kann in einem bestimmten Dokument gefunden werden.
### **CSRF/Clickjacking-Schwachstellen**
Die Untersuchung von CSRF- oder Clickjacking-Schwachstellen, um 2FA zu deaktivieren, ist eine praktikable Strategie.
### **Ausnutzung der "Erinnere mich"-Funktion**
#### **Vorhersehbare Cookie-Werte**
Das Erraten des Wertes des "Erinnere mich"-Cookies kann Einschränkungen umgehen.
#### **IP-Adressensimulation**
Die Simulation der IP-Adresse des Opfers über den **X-Forwarded-For**-Header kann Einschränkungen umgehen.
### **Verwendung älterer Versionen**
#### **Subdomains**
Das Testen von Subdomains kann veraltete Versionen verwenden, die keine 2FA-Unterstützung bieten oder anfällige 2FA-Implementierungen enthalten.
#### **API-Endpunkte**
Ältere API-Versionen, die durch /v\*/-Verzeichnispfade angezeigt werden, können anfällig für Methoden zum Umgehen von 2FA sein.
### **Umgang mit vorherigen Sitzungen**
Das Beenden bestehender Sitzungen bei Aktivierung von 2FA sichert Konten gegen unbefugten Zugriff aus kompromittierten Sitzungen.
### **Zugriffskontrollfehler mit Backup-Codes**
Die sofortige Generierung und potenzielle unbefugte Abholung von Backup-Codes bei Aktivierung von 2FA, insbesondere bei CORS-Fehlkonfigurationen/XSS-Schwachstellen, stellt ein Risiko dar.
### **Offenlegung von Informationen auf der 2FA-Seite**
Die Offenlegung sensibler Informationen (z. B. Telefonnummer) auf der 2FA-Überprüfungsseite ist ein Anliegen.
### **Passwortzurücksetzung, die 2FA deaktiviert**
Ein Prozess, der eine potenzielle Umgehungsmethode demonstriert, umfasst die Kontoerstellung, Aktivierung von 2FA, Passwortzurücksetzung und anschließendes Einloggen ohne die 2FA-Anforderung.
### **Täuschungsanfragen**
Die Nutzung von Täuschungsanfragen, um Brute-Force-Versuche zu verschleiern oder Ratenbegrenzungsmechanismen in die Irre zu führen, fügt eine weitere Ebene zu Umgehungsstrategien hinzu. Das Erstellen solcher Anfragen erfordert ein nuanciertes Verständnis der Sicherheitsmaßnahmen und Ratenbegrenzungsverhalten der Anwendung.
### OTP-Konstruktionsfehler
Falls das OTP auf Daten basiert, die der Benutzer bereits hat oder die vorher gesendet werden, um das OTP zu erstellen, ist es möglich, dass der Benutzer es ebenfalls generieren und umgehen kann.
## Referenzen
* [https://medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35](https://github.com/carlospolop/hacktricks/blob/master/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)
* [https://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116\_1d0f6ce59992222b0812b7cab19a4bce](https://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116\_1d0f6ce59992222b0812b7cab19a4bce)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) ist eine **dark-web**-unterstützte Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder dessen Kunden durch **Stealer-Malware** **kompromittiert** wurden.
Das Hauptziel von WhiteIntel ist es, Kontenübernahmen und Ransomware-Angriffe zu bekämpfen, die durch informationsstehlende Malware verursacht werden.
Sie können ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter:
{% embed url="https://whiteintel.io" %}
P
{% hint style="success" %}
Lernen & üben Sie AWS Hacking:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
Lernen & üben Sie GCP Hacking: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)!
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
</details>
{% endhint %}