hacktricks/pentesting-web/2fa-bypass.md

157 lines
7.9 KiB
Markdown

# 2FA/MFA/OTP Bypass
{% hint style="success" %}
Učite i vežbajte AWS Hacking:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
Učite i vežbajte GCP Hacking: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Podrška HackTricks</summary>
* Proverite [**planove pretplate**](https://github.com/sponsors/carlospolop)!
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili **pratite** nas na **Twitteru** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Podelite hakerske trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
{% endhint %}
## **Tehnike za zaobilaženje poboljšane dvofaktorske autentifikacije**
### **Direktan pristup krajnjoj tački**
Da biste zaobišli 2FA, direktno pristupite sledećoj krajnjoj tački, poznavanje puta je ključno. Ako ne uspete, promenite **Referrer header** da biste oponašali navigaciju sa stranice za verifikaciju 2FA.
### **Ponovna upotreba tokena**
Ponovna upotreba prethodno korišćenih tokena za autentifikaciju unutar naloga može biti efikasna.
### **Korišćenje neiskorišćenih tokena**
Može se pokušati izdvojiti token iz svog naloga kako bi se zaobišla 2FA u drugom nalogu.
### **Izlaganje tokena**
Istražite da li je token otkriven u odgovoru iz web aplikacije.
### **Eksploatacija verifikacione veze**
Korišćenje **verifikacione veze za e-poštu poslate prilikom kreiranja naloga** može omogućiti pristup profilu bez 2FA, kao što je istaknuto u detaljnom [postu](https://srahulceh.medium.com/behind-the-scenes-of-a-security-bug-the-perils-of-2fa-cookie-generation-496d9519771b).
### **Manipulacija sesijama**
Pokretanje sesija za naloge korisnika i žrtve, i završavanje 2FA za korisnikov nalog bez nastavka, omogućava pokušaj pristupa sledećem koraku u toku naloga žrtve, iskorišćavajući ograničenja upravljanja sesijama na backendu.
### **Mehanizam za resetovanje lozinke**
Istraživanje funkcije resetovanja lozinke, koja prijavljuje korisnika u aplikaciju nakon resetovanja, zbog njenog potencijala da omogući više resetovanja koristeći istu vezu je ključno. Prijavljivanje sa novim resetovanim podacima može zaobići 2FA.
### **Kompromitovanje OAuth platforme**
Kompromitovanje korisničkog naloga na pouzdanoj **OAuth** platformi (npr. Google, Facebook) može ponuditi put za zaobilaženje 2FA.
### **Brute Force napadi**
#### **Odsustvo ograničenja brzine**
Nedostatak ograničenja na broj pokušaja koda omogućava brute force napade, iako treba razmotriti potencijalno tiho ograničavanje brzine.
#### **Spori brute force**
Spori brute force napad je izvodljiv gde postoje ograničenja brzine protoka bez sveobuhvatnog ograničenja brzine.
#### **Resetovanje ograničenja ponovnog slanja koda**
Ponovno slanje koda resetuje ograničenje brzine, olakšavajući nastavak pokušaja brute force.
#### **Zaobilaženje ograničenja brzine na klijentskoj strani**
Dokument detaljno opisuje tehnike za zaobilaženje ograničenja brzine na klijentskoj strani.
#### **Unutrašnje radnje bez ograničenja brzine**
Ograničenja brzine mogu zaštititi pokušaje prijavljivanja, ali ne i unutrašnje radnje naloga.
#### **Troškovi ponovnog slanja SMS koda**
Prekomerno slanje kodova putem SMS-a nosi troškove za kompaniju, iako ne zaobilazi 2FA.
#### **Beskonačna regeneracija OTP-a**
Beskonačna generacija OTP-a sa jednostavnim kodovima omogućava brute force pokušaje ponovnog slanja malog skupa kodova.
### **Eksploatacija uslova trke**
Eksploatacija uslova trke za zaobilaženje 2FA može se naći u specifičnom dokumentu.
### **CSRF/Clickjacking ranjivosti**
Istraživanje CSRF ili Clickjacking ranjivosti za onemogućavanje 2FA je izvodljiva strategija.
### **Eksploatacija funkcije "Zapamti me"**
#### **Predvidljive vrednosti kolačića**
Pogađanje vrednosti kolačića "zapamti me" može zaobići ograničenja.
#### **Imitacija IP adrese**
Imitacija IP adrese žrtve putem **X-Forwarded-For** header-a može zaobići ograničenja.
### **Korišćenje starijih verzija**
#### **Poddomeni**
Testiranje poddomena može koristiti zastarele verzije koje nemaju podršku za 2FA ili sadrže ranjive implementacije 2FA.
#### **API krajnje tačke**
Starije verzije API-ja, označene sa /v\*/ putanjama, mogu biti ranjive na metode za zaobilaženje 2FA.
### **Rukovanje prethodnim sesijama**
Prekidanje postojećih sesija prilikom aktivacije 2FA osigurava naloge od neovlašćenog pristupa iz kompromitovanih sesija.
### **Greške u kontroli pristupa sa rezervnim kodovima**
Odmah generisanje i potencijalno neovlašćeno preuzimanje rezervnih kodova prilikom aktivacije 2FA, posebno sa CORS pogrešnim konfiguracijama/XSS ranjivostima, predstavlja rizik.
### **Otkrivanje informacija na 2FA stranici**
Otkrivanje osetljivih informacija (npr. broj telefona) na stranici za verifikaciju 2FA je zabrinjavajuće.
### **Resetovanje lozinke onemogućava 2FA**
Proces koji demonstrira potencijalnu metodu zaobilaženja uključuje kreiranje naloga, aktivaciju 2FA, resetovanje lozinke i naknadno prijavljivanje bez zahteva za 2FA.
### **Mamci za zahteve**
Korišćenje mamaca za zahteve kako bi se zamaglili pokušaji brute force ili zavarali mehanizmi ograničenja brzine dodaje još jedan sloj strategijama za zaobilaženje. Kreiranje takvih zahteva zahteva suptilno razumevanje bezbednosnih mera aplikacije i ponašanja ograničenja brzine.
### Greške u konstrukciji OTP-a
U slučaju da se OTP kreira na osnovu podataka koje korisnik već ima ili koji se šalju prethodno za kreiranje OTP-a, moguće je da korisnik takođe generiše OTP i zaobiđe ga.
## Reference
* [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)
P
{% hint style="success" %}
Učite i vežbajte AWS Hacking:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
Učite i vežbajte GCP Hacking: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Podrška HackTricks</summary>
* Proverite [**planove pretplate**](https://github.com/sponsors/carlospolop)!
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili **pratite** nas na **Twitteru** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Podelite hakerske trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
{% endhint %}