Ominięcie 2FA/MFA/OTP
Reading time: 5 minutes
tip
Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Wsparcie HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegram lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.
Zaawansowane techniki omijania dwuetapowej weryfikacji
Bezpośredni dostęp do punktu końcowego
Aby ominąć 2FA, uzyskaj bezpośredni dostęp do następnego 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 uwierzytelnienia w ramach konta może być skuteczne.
Wykorzystanie nieużywanych tokenów
Można spróbować wyodrębnić token z własnego konta, aby ominąć 2FA w innym koncie.
Ujawnienie tokena
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
Zbadanie funkcji resetowania hasła, która loguje użytkownika do aplikacji po resecie, pod kątem możliwości umożliwienia wielokrotnych resetów za pomocą tego samego linku jest kluczowe. Zalogowanie się z nowo zresetowanymi danymi może ominąć 2FA.
Kompromitacja platformy OAuth
Kompromitacja konta użytkownika na zaufanej platformie OAuth (np. Google, Facebook) może oferować drogę do ominięcia 2FA.
Ataki brute force
Brak limitu prób
Brak limitu liczby prób kodu umożliwia ataki brute force, chociaż należy rozważyć potencjalne ciche ograniczenie.
Należy zauważyć, że nawet jeśli limit prób jest wprowadzony, warto sprawdzić, czy odpowiedź jest inna, gdy wysłany jest ważny OTP. W tym poście badacz błędów odkrył, że nawet jeśli limit prób został wyzwolony po 20 nieudanych próbach, odpowiadając 401, jeśli wysłano ważny kod, otrzymano odpowiedź 200.
Powolny brute force
Atak powolnego brute force jest wykonalny, gdy istnieją ograniczenia przepływu bez ogólnego limitu.
Reset limitu ponownego wysyłania kodu
Ponowne wysłanie kodu resetuje limit prób, ułatwiając kontynuację prób brute force.
Ominięcie limitu prób po stronie klienta
Dokument szczegółowo opisuje techniki omijania limitów prób po stronie klienta.
Brak limitu prób dla działań wewnętrznych
Limity prób mogą chronić przed próbami logowania, ale nie przed wewnętrznymi działaniami 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 ominię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 ominąć ograniczenia.
Impersonacja adresu IP
Impersonacja adresu IP ofiary za pomocą nagłówka X-Forwarded-For może ominąć ograniczenia.
Wykorzystanie starszych wersji
Subdomeny
Testowanie subdomen może wykorzystywać przestarzałe wersje, które nie obsługują 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 omijania 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 w przypadku błędów 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ę omijania 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 ograniczających próby dodaje kolejny poziom do strategii omijania. Tworzenie takich żądań wymaga subtelnego zrozumienia środków bezpieczeństwa aplikacji i zachowań związanych z ograniczaniem prób.
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 wcześniej do utworzenia OTP, możliwe jest, że użytkownik również go wygeneruje i ominie.
Referencje
- https://medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35
- https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718
- https://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116_1d0f6ce59992222b0812b7cab19a4bce
P
tip
Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Wsparcie HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegram lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.