2FA/MFA/OTP Bypass

Reading time: 5 minutes

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Unterstützen Sie HackTricks

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.

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 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 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

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

P

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Unterstützen Sie HackTricks