6.8 KiB
Bypass 2FA/OTP
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć swoją firmę reklamowaną w HackTricks lub pobrać HackTricks w formacie PDF, sprawdź SUBSCRIPTION PLANS!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj The PEASS Family, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud github repos.
Techniki obejścia dwuskładnikowej autoryzacji (2FA/OTP)
Bezpośredni dostęp do punktu końcowego
Aby obejść 2FA, należy bezpośrednio uzyskać dostęp do kolejnego punktu końcowego, znając ścieżkę. Jeśli nie powiedzie się, zmień nagłówek Referrer tak, aby naśladować nawigację z strony weryfikacji 2FA.
Ponowne wykorzystanie tokenów
Ponowne wykorzystanie wcześniej używanych tokenów do uwierzytelniania w ramach konta może być skuteczne.
Wykorzystanie nieużywanych tokenów
Można spróbować wydobyć token z własnego konta w celu obejścia 2FA w innym koncie.
Ujawnienie tokenu
Sprawdź, czy token jest ujawniony w odpowiedzi z aplikacji internetowej.
Wykorzystanie linku weryfikacyjnego
Użycie linku weryfikacyjnego wysłanego podczas tworzenia konta może umożliwić dostęp do profilu bez 2FA, jak opisano w szczegółach w tym poście.
Manipulacja sesją
Inicjowanie sesji zarówno dla konta użytkownika, jak i ofiary, i ukończenie 2FA dla konta użytkownika bez kontynuowania, umożliwia próbę dostępu do kolejnego kroku w przepływie konta ofiary, wykorzystując ograniczenia zarządzania sesją po stronie serwera.
Mechanizm resetowania hasła
Badanie funkcji resetowania hasła, która loguje użytkownika do aplikacji po zresetowaniu, w celu sprawdzenia możliwości wielokrotnego resetowania za pomocą tego samego linku, jest kluczowe. Zalogowanie się za pomocą nowo ustawionych danych uwierzytelniających może obejść 2FA.
Kompromitacja platformy OAuth
Skompromitowanie konta użytkownika na zaufanej platformie OAuth (np. Google, Facebook) może umożliwić obejście 2FA.
Ataki brute force
Brak limitu szybkości
Brak limitu liczby prób kodu umożliwia ataki brute force, choć należy wziąć pod uwagę potencjalne ciche ograniczenie szybkości.
Wolny atak brute force
Wolny atak brute force jest możliwy, gdy istnieją limity szybkości przepływu bez ogólnego limitu szybkości.
Reset limitu wysyłania kodu
Ponowne wysłanie kodu resetuje limit szybkości, ułatwiając kontynuowanie prób ataku brute force.
Ominięcie limitu szybkości po stronie klienta
Dokument opisuje techniki obejścia limitu szybkości po stronie klienta.
Brak limitu szybkości dla działań wewnętrznych
Limity szybkości mogą chronić przed próbami logowania, ale nie przed wewnętrznymi działaniami na koncie.
Koszty ponownego wysyłania kodu SMS
Wysyłanie nadmiernych ilości kodów SMS wiąże się z kosztami dla firmy, ale nie obejmuje to 2FA.
Nieskończona regeneracja OTP
Nieskończona generacja OTP za pomocą prostych kodów umożliwia atak brute force poprzez ponowne próbowanie małego zestawu kodów.
Wykorzystanie wyścigów (race condition)
Wykorzystanie wyścigów (race conditions) do obejścia 2FA można znaleźć w konkretnym dokumencie.
Podatności CSRF/Clickjacking
Badanie podatności CSRF lub Clickjacking w celu wyłączenia 2FA jest skuteczną strategią.
Wykorzystanie funkcji "Zapamiętaj mnie"
Przewidywalne wartości plików cookie
Zgadywanie wartości pliku cookie "zapamiętaj mnie" może obejść ograniczenia.
Podszywanie się pod adres IP
Podszywanie się pod adres IP ofiary za pomocą nagłówka X-Forwarded-For może obejść ograniczenia.
Wykorzystanie starszych wersji
Poddomeny
Testowanie poddomen może obejmować starsze wersje, które nie obsługują 2FA lub zawierają podatne implementacje 2FA.
Punkty końcowe interfejsu API
Starsze wersje interfejsu API, wskazane przez ścieżki katalogowe /v*/, mogą być podatne na metody obejścia 2FA.
Obsługa poprzednich sesji
Zakończenie istniejących sesji po aktywacji 2FA zabezpiecza konta przed nieautoryzowanym dostępem z kompromitowanych sesji.
Wady kontroli dostępu z kodami zapasowymi
Natychmiastowe generowanie i potencjalne nieautoryzowane pobieranie kodów zapasowych po aktywacji 2FA, zwłaszcza przy błędnej konfiguracji CORS/XSS, stanowi ryzyko.
Ujawnienie informacji na stronie 2FA
Ujawnienie poufnych informacji (np. numeru telefonu) na stronie weryfikacji 2FA stanowi zagrożenie.
Wyłączenie 2FA przez resetowanie hasła
Proces demonstrujący potencjalną metodę obejścia obejmuje utworzenie konta, aktywację 2FA, resetowanie hasła i następne logowanie bez wymagania 2FA.
Podstawowe żądania (decoy requests)
Wykorzystanie podstawowych żądań w celu zaciemnienia prób ataku brute force lub wprowadzenia w błąd mechanizmów ograniczania szybkości dodaje kolejną warstwę strategii obejścia. Tworzenie takich żądań wymaga subtelnej znajomości środków bezpieczeństwa aplikacji i zachowań ograniczania szybkości.
Odwołania
- https://medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35
- https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć swoją firmę reklamowaną w HackTricks lub **pobrać HackTricks w form