2FA/MFA/OTP Bypass
Reading time: 5 minutes
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
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, izmenite 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šao 2FA u drugom nalogu.
Izlaganje tokena
Istražite da li je token otkriven u odgovoru 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.
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 resetovanja 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.
Napomena da čak i ako je ograničenje brzine postavljeno, trebali biste pokušati da vidite da li je odgovor drugačiji kada je validni OTP poslat. U ovom postu, lovac na greške je otkrio da čak i ako je ograničenje brzine aktivirano nakon 20 neuspešnih pokušaja odgovarajući sa 401, ako je validni poslat, primljen je odgovor 200.
Spori brute force
Spori brute force napad je izvodljiv gde postoje ograničenja brzine toka bez sveobuhvatnog ograničenja brzine.
Resetovanje ograničenja ponovnog slanja koda
Ponovno slanje koda resetuje ograničenje brzine, olakšavajući nastavak brute force pokušaja.
Zaobilaženje ograničenja brzine na klijentskoj strani
Dokument detaljno opisuje tehnike za zaobilaženje ograničenja brzine na klijentskoj strani.
Unutrašnje radnje nemaju ograničenje brzine
Ograničenja brzine mogu zaštititi pokušaje prijavljivanja, ali ne i unutrašnje radnje naloga.
Troškovi ponovnog slanja SMS koda
Prekomerno ponavljanje slanja kodova putem SMS-a donosi troškove kompaniji, 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.
Eksploatacije 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 zahteva
Korišćenje mamaca zahteva za prikrivanje brute force pokušaja ili obmanu mehanizama 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 i zaobiđe ga.
Reference
- 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
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.