2FA/MFA/OTP Bypass

Tip

Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Ucz się i ćwicz Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Wsparcie dla HackTricks

Zaawansowane techniki obchodzenia uwierzytelniania dwuskładnikowego

Direct Endpoint Access

Aby obejść 2FA, uzyskaj bezpośredni dostęp do kolejnego endpointu — kluczowa jest znajomość ścieżki. Jeśli to nie działa, zmień nagłówek Referrer header, aby naśladować przejście ze strony weryfikacji 2FA.

Token Reuse

Ponowne wykorzystanie wcześniej użytych tokenów do uwierzytelnienia w ramach konta może być skuteczne.

Utilization of Unused Tokens

Można spróbować wyodrębnić token z własnego konta, aby obejść 2FA na innym koncie.

Exposure of Token

Sprawdź, czy token jest ujawniany w odpowiedzi aplikacji webowej.

Użycie email verification link sent upon account creation może pozwolić na dostęp do profilu bez 2FA, jak pokazano w szczegółowym post.

Session Manipulation

Zainicjowanie sesji zarówno dla własnego konta, jak i konta ofiary oraz ukończenie 2FA tylko dla własnego konta, bez kontynuacji, pozwala następnie spróbować uzyskać dostęp do kolejnego kroku w przepływie konta ofiary — wykorzystując ograniczenia w zarządzaniu sesjami po stronie backendu.

Password Reset Mechanism

Warto zbadać mechanizm resetu hasła, który po resetowaniu loguje użytkownika do aplikacji — ważne jest sprawdzenie, czy możliwe jest wielokrotne użycie tego samego linku. Zalogowanie się za pomocą nowo zresetowanych danych uwierzytelniających może ominąć 2FA.

OAuth Platform Compromise

Przejęcie konta użytkownika na zaufanej platformie OAuth (np. Google, Facebook) może dawać drogę do obejścia 2FA.

Brute Force Attacks

Rate Limit Absence

Brak ograniczenia liczby prób wpisania kodu umożliwia ataki Brute Force, choć należy uwzględnić możliwość występowania ukrytego rate limiting.

Note that even if a rate limit is in place you should try to see if the response is different when the valid OTP is sent. In this post, the bug hunter discovered that even if a rate limit is triggered after 20 unsuccessful attempts by responding with 401, if the valid one was sent a 200 response was received.

Slow Brute Force

Metoda slow brute force jest możliwa, gdy istnieją lokalne ograniczenia tempa, lecz brak centralnego rate limitu.

Code Resend Limit Reset

Ponowne wysłanie kodu resetuje limit prób, ułatwiając kontynuację ataków brute force.

Client-Side Rate Limit Circumvention

Istnieją materiały opisujące techniki obchodzenia client-side rate limiting.

Internal Actions Lack Rate Limit

Rate limiting może chronić próby logowania, ale niekoniecznie wewnętrzne akcje na koncie.

SMS Code Resend Costs

Nadmierne ponowne wysyłanie kodów SMS generuje koszty dla firmy, choć nie omija 2FA.

Infinite OTP Regeneration

Nieograniczona regeneracja OTP z użyciem prostych kodów pozwala na brute force polegający na ponawianiu małego zbioru kodów.

Race Condition Exploitation

Wykorzystanie race condition do obejścia 2FA opisano w konkretnym dokumencie.

CSRF/Clickjacking Vulnerabilities

Wyszukiwanie podatności CSRF lub Clickjacking w celu wyłączenia 2FA jest sensowną strategią.

“Remember Me” Feature Exploits

Odgadnięcie wartości ciasteczka “remember me” może obejść ograniczenia.

IP Address Impersonation

Podszycie się pod adres IP ofiary przez nagłówek X-Forwarded-For może obejść ograniczenia.

Utilizing Older Versions

Subdomains

Testowanie subdomen może ujawnić starsze wersje bez wsparcia 2FA lub zawierające podatne implementacje 2FA.

API Endpoints

Starsze wersje API, wskazywane przez ścieżki typu /v*/ mogą być podatne na metody omijania 2FA.

Handling of Previous Sessions

Zakończenie istniejących sesji w momencie aktywacji 2FA zabezpiecza konta przed nieautoryzowanym dostępem z przejętych sesji.

Access Control Flaws with Backup Codes

Natychmiastowe wygenerowanie i możliwość nieautoryzowanego pobrania backup codes przy aktywacji 2FA, szczególnie przy błędnej konfiguracji CORS lub podatnościach XSS, stanowi ryzyko.

Information Disclosure on 2FA Page

Ujawnianie wrażliwych informacji (np. numeru telefonu) na stronie weryfikacji 2FA jest problematyczne.

Password Reset Disabling 2FA

Proces ilustrujący możliwą metodę obejścia obejmuje utworzenie konta, aktywację 2FA, reset hasła i następne zalogowanie się bez wymogu 2FA.

Decoy Requests

Wykorzystanie decoy requests do zaciemnienia prób brute force lub wprowadzenia w błąd mechanizmów rate limiting dodaje kolejny wymiar do strategii obejścia. Tworzenie takich żądań wymaga wyrafinowanego zrozumienia zabezpieczeń aplikacji i zachowań rate limiting.

OTP Construction errors

Jeśli OTP jest tworzone na podstawie danych, które użytkownik już posiada lub które są wysyłane wcześniej w celu wygenerowania OTP, możliwe jest, że sam użytkownik może je wygenerować i w ten sposób obejść weryfikację.

Referencje

P

Tip

Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Ucz się i ćwicz Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Wsparcie dla HackTricks