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

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

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