2FA/MFA/OTP Bypass

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)

Wsparcie dla HackTricks

Techniki obejścia ulepszonej autoryzacji dwuetapowej

Bezpośredni dostęp do punktu końcowego

Aby obejść 2FA, uzyskaj bezpośredni dostęp do kolejnego punktu końcowego, znajomość ścieżki jest kluczowa. Jeśli to się nie powiedzie, zmień nagłówek Referrer, aby naśladować nawigację z strony weryfikacji 2FA.

Ponowne wykorzystanie tokenów

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

Wykorzystanie nieużywanych tokenów

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

Ujawnienie tokenu

Sprawdź, czy token jest ujawniony w odpowiedzi z aplikacji webowej.

Wykorzystanie linku weryfikacyjnego

Użycie linku weryfikacyjnego wysłanego po utworzeniu konta może umożliwić dostęp do profilu bez 2FA, jak podkreślono w szczegółowym poście.

Manipulacja sesją

Inicjowanie sesji zarówno dla konta użytkownika, jak i ofiary, oraz zakończenie 2FA dla konta użytkownika bez kontynuacji, pozwala na próbę dostępu do następnego kroku w przepływie konta ofiary, wykorzystując ograniczenia zarządzania sesjami w zapleczu.

Mechanizm resetowania hasła

Badanie funkcji resetowania hasła, która loguje użytkownika do aplikacji po resecie, pod kątem możliwości umożliwienia wielu resetów za pomocą tego samego linku jest kluczowe. Zalogowanie się z nowo zresetowanymi danymi może obejść 2FA.

Kompromitacja platformy OAuth

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

Ataki brute force

Brak limitu szybkości

Brak limitu liczby prób kodu umożliwia ataki brute force, chociaż należy rozważyć potencjalne ciche ograniczenie szybkości.

Wolny brute force

Wolny atak brute force jest wykonalny, gdy istnieją ograniczenia przepływu bez ogólnego limitu szybkości.

Reset limitu ponownego wysyłania kodu

Ponowne wysłanie kodu resetuje limit szybkości, co ułatwia kontynuację prób brute force.

Obchodzenie limitu szybkości po stronie klienta

Dokument szczegółowo opisuje techniki obchodzenia limitu szybkości po stronie klienta.

Brak limitu szybkości dla działań wewnętrznych

Limity szybkości mogą chronić próby logowania, ale nie działania wewnętrzne konta.

Koszty ponownego wysyłania kodów SMS

Nadmierne ponowne wysyłanie kodów za pośrednictwem SMS wiąże się z kosztami dla firmy, chociaż nie omija 2FA.

Nieskończona regeneracja OTP

Nieskończona generacja OTP z prostymi kodami umożliwia brute force poprzez ponowne próby małego zestawu kodów.

Wykorzystanie warunków wyścigu

Wykorzystanie warunków wyścigu do obejścia 2FA można znaleźć w konkretnym dokumencie.

Luki CSRF/Clickjacking

Badanie luk CSRF lub Clickjacking w celu wyłączenia 2FA jest wykonalną strategią.

Wykorzystanie funkcji "Zapamiętaj mnie"

Przewidywalne wartości ciasteczek

Zgadnięcie wartości ciasteczka "zapamiętaj mnie" może obejść ograniczenia.

Impersonacja adresu IP

Impersonacja adresu IP ofiary za pomocą nagłówka X-Forwarded-For może obejść ograniczenia.

Wykorzystanie starszych wersji

Subdomeny

Testowanie subdomen może wykorzystywać przestarzałe wersje, które nie mają wsparcia dla 2FA lub zawierają podatne implementacje 2FA.

Punkty końcowe API

Starsze wersje API, wskazane przez ścieżki katalogów /v*/, mogą być podatne na metody obejścia 2FA.

Zarządzanie poprzednimi sesjami

Zakończenie istniejących sesji po aktywacji 2FA zabezpiecza konta przed nieautoryzowanym dostępem z kompromitowanych sesji.

Luki w kontroli dostępu z kodami zapasowymi

Natychmiastowe generowanie i potencjalne nieautoryzowane pozyskiwanie kodów zapasowych po aktywacji 2FA, szczególnie przy błędach CORS/XSS, stanowi ryzyko.

Ujawnienie informacji na stronie 2FA

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

Resetowanie hasła wyłączające 2FA

Proces demonstrujący potencjalną metodę obejścia obejmuje utworzenie konta, aktywację 2FA, reset hasła i następne logowanie bez wymogu 2FA.

Fałszywe żądania

Wykorzystanie fałszywych żądań do zatarcia prób brute force lub wprowadzenia w błąd mechanizmów ograniczania szybkości dodaje kolejny poziom do strategii obejścia. Tworzenie takich żądań wymaga subtelnego zrozumienia środków bezpieczeństwa aplikacji i zachowań ograniczania szybkości.

Błędy konstrukcji OTP

W przypadku, gdy OTP jest tworzony na podstawie danych, które użytkownik już ma lub które są wysyłane przed utworzeniem OTP, możliwe jest, że użytkownik również go wygeneruje i obejdzie.

References

Last updated