# 2FA/MFA/OTP Bypass {{#include ../banners/hacktricks-training.md}} ## **Verbesserte Techniken zum Umgehen der Zwei-Faktor-Authentifizierung** ### **Direkter Zugriff auf Endpunkte** Um 2FA zu umgehen, greifen Sie direkt auf den nachfolgenden Endpunkt zu; der Pfad ist entscheidend. Wenn dies nicht erfolgreich ist, ändern Sie den **Referrer-Header**, um die Navigation von der 2FA-Überprüfungsseite nachzuahmen. ### **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 Kontos 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. Beachten Sie, dass selbst wenn eine Ratenbegrenzung besteht, Sie versuchen sollten zu sehen, ob die Antwort unterschiedlich ist, wenn der gültige OTP gesendet wird. In [**diesem Beitrag**](https://mokhansec.medium.com/the-2-200-ato-most-bug-hunters-overlooked-by-closing-intruder-too-soon-505f21d56732) entdeckte der Bug-Jäger, dass selbst wenn eine Ratenbegrenzung nach 20 erfolglosen Versuchen durch eine Antwort mit 401 ausgelöst wurde, eine 200-Antwort empfangen wurde, wenn der gültige gesendet wurde. #### **Langsame Brute-Force** Ein langsamer Brute-Force-Angriff ist möglich, wo Flussratenbegrenzungen existieren, ohne eine übergeordnete Ratenbegrenzung. #### **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 erneute Versuchen einer kleinen Menge von Codes. ### **Ausnutzung von Race Conditions** Die Ausnutzung von Race Conditions zum Umgehen von 2FA kann in einem spezifischen Dokument gefunden werden. ### **CSRF/Clickjacking-Schwachstellen** Die Untersuchung von CSRF- oder Clickjacking-Schwachstellen zur Deaktivierung von 2FA ist eine praktikable Strategie. ### **Ausnutzung der "Erinnere mich"-Funktion** #### **Vorhersehbare Cookie-Werte** Das Erraten des "Erinnere mich"-Cookie-Werts kann Einschränkungen umgehen. #### **IP-Adressensimulation** Die Simulation der IP-Adresse des Opfers über den **X-Forwarded-For**-Header kann Einschränkungen umgehen. ### **Nutzung ä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 zur Verschleierung von Brute-Force-Versuchen oder zur Irreführung von Ratenbegrenzungsmechanismen fügt eine weitere Ebene zu Umgehungsstrategien hinzu. Das Erstellen solcher Anfragen erfordert ein nuanciertes Verständnis der Sicherheitsmaßnahmen und des Verhaltens der Ratenbegrenzung der Anwendung. ### OTP-Konstruktionsfehler Falls der OTP basierend auf Daten erstellt wird, die der Benutzer bereits hat oder die zuvor gesendet wurden, um den OTP zu erstellen, ist es möglich, dass der Benutzer ihn ebenfalls generiert und umgeht. ## References - [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) P {{#include ../banners/hacktricks-training.md}}