# 2FA/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-y 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**.
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 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ć wyciągnąć 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](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**
Zbadanie 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 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 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ę 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.
## 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)
### [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**.
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-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
{% endhint %}