# 2FA/MFA/OTP Bypass
{% hint style="success" %}
Ucz się i ćwicz Hacking AWS:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Ucz się i ćwicz Hacking GCP: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Wsparcie dla HackTricks
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegram**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Podziel się sztuczkami hackingowymi, przesyłając PR do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
[**WhiteIntel**](https://whiteintel.io) to **wyszukiwarka** zasilana **dark-web**, która oferuje **darmowe** funkcjonalności do sprawdzenia, czy firma lub jej klienci zostali **skompromentowani** przez **złośliwe oprogramowanie kradnące**.
Ich głównym celem WhiteIntel jest zwalczanie przejęć kont i ataków ransomware wynikających z złośliwego oprogramowania kradnącego informacje.
Możesz sprawdzić ich stronę i wypróbować ich silnik za **darmo** pod adresem:
{% embed url="https://whiteintel.io" %}
***
## **Zaawansowane techniki omijania dwuetapowej weryfikacji**
### **Bezpośredni dostęp do punktu końcowego**
Aby obejść 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 użycie tokenu**
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ć wyciągnąć token z własnego konta, aby obejść 2FA na 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](https://srahulceh.medium.com/behind-the-scenes-of-a-security-bug-the-perils-of-2fa-cookie-generation-496d9519771b).
### **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 wielokrotnych resetów za pomocą tego samego linku jest kluczowe. Zalogowanie się z nowo zresetowanymi danymi może obejść 2FA.
### **Kompromentacja platformy OAuth**
Kompromentacja konta użytkownika na zaufanej platformie **OAuth** (np. Google, Facebook) może oferować drogę do ominię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 omijania limitów 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 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 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 omijania 2FA.
### **Zarządzanie poprzednimi sesjami**
Zakończenie istniejących sesji po aktywacji 2FA zabezpiecza konta przed nieautoryzowanym dostępem z skompromitowanych 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ę 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 ograniczania szybkości dodaje kolejny poziom do strategii omijania. 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, użytkownik może również go wygenerować i obejść.
## Referencje
* [https://medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35](https://github.com/carlospolop/hacktricks/blob/master/pentesting-web/%22https:/medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35%22/README.md)
* [https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718](https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718)
* [https://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116\_1d0f6ce59992222b0812b7cab19a4bce](https://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116\_1d0f6ce59992222b0812b7cab19a4bce)
### [WhiteIntel](https://whiteintel.io)
[**WhiteIntel**](https://whiteintel.io) to **wyszukiwarka** zasilana **dark-web**, która oferuje **darmowe** funkcjonalności do sprawdzenia, czy firma lub jej klienci zostali **skompromentowani** przez **złośliwe oprogramowanie kradnące**.
Ich głównym celem WhiteIntel jest zwalczanie przejęć kont i ataków ransomware wynikających z złośliwego oprogramowania kradnącego informacje.
Możesz sprawdzić ich stronę i wypróbować ich silnik za **darmo** pod adresem:
{% embed url="https://whiteintel.io" %}
P
{% hint style="success" %}
Ucz się i ćwicz Hacking AWS:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Ucz się i ćwicz Hacking GCP: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Wsparcie dla HackTricks
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegram**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Podziel się sztuczkami hackingowymi, przesyłając PR do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
{% endhint %}