Az - Conditional Access Policies & MFA Bypass
Last updated
Last updated
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)
Azure politike uslovnog pristupa su pravila postavljena u Microsoft Azure-u za sprovođenje kontrola pristupa do Azure usluga i aplikacija na osnovu određenih uslova. Ove politike pomažu organizacijama da osiguraju svoje resurse primenom pravih kontrola pristupa pod pravim okolnostima. Politike uslovnog pristupa u osnovi definišu Ko može pristupiti Čemu iz Gde i Kako.
Evo nekoliko primera:
Politika rizika prijavljivanja: Ova politika može biti postavljena da zahteva višefaktorsku autentifikaciju (MFA) kada se otkrije rizik prijavljivanja. Na primer, ako je ponašanje korisnika prilikom prijavljivanja neobično u poređenju sa njihovim redovnim obrascem, kao što je prijavljivanje iz druge zemlje, sistem može zatražiti dodatnu autentifikaciju.
Politika usklađenosti uređaja: Ova politika može ograničiti pristup Azure uslugama samo na uređaje koji su usklađeni sa bezbednosnim standardima organizacije. Na primer, pristup može biti dozvoljen samo sa uređaja koji imaju ažuriran antivirusni softver ili koji koriste određenu verziju operativnog sistema.
Moguće je da politika uslovnog pristupa proverava neke informacije koje se lako mogu izmeniti, što omogućava zaobilaženje politike. I ako je, na primer, politika konfigurisala MFA, napadač će moći da je zaobiđe.
Prilikom konfigurisanja politike uslovnog pristupa potrebno je naznačiti korisnike koji su pogođeni i ciljane resurse (kao što su sve cloud aplikacije).
Takođe je potrebno konfigurisati uslove koji će pokrenuti politiku:
Mreža: IP, IP opsezi i geografske lokacije
Može se zaobići korišćenjem VPN-a ili Proxy-a za povezivanje sa zemljom ili uspevajući da se prijavi sa dozvoljene IP adrese
Microsoft rizici: Rizik korisnika, Rizik prijavljivanja, Rizik unutrašnjeg korisnika
Platforme uređaja: Bilo koji uređaj ili odabrati Android, iOS, Windows telefon, Windows, macOS, Linux
Ako “Bilo koji uređaj” nije odabran, ali su sve druge opcije odabrane, moguće je zaobići koristeći nasumični user-agent koji nije povezan sa tim platformama
Klijentske aplikacije: Opcije su “Pregledač”, “Mobilne aplikacije i desktop klijenti”, “Exchange ActiveSync klijenti” i “Ostali klijenti”
Da bi se zaobišao prijavljivanje sa neodabranom opcijom
Filter za uređaje: Moguće je generisati pravilo vezano za korišćeni uređaj
Tokovi autentifikacije: Opcije su “Tok kod uređaja” i “Prenos autentifikacije”
Ovo neće uticati na napadača osim ako ne pokušava da zloupotrebi neki od tih protokola u pokušaju phishing-a da pristupi nalogu žrtve
Mogući rezultati su: Blokirati ili Dodeliti pristup uz potencijalne uslove kao što su zahtevati MFA, uređaj da bude usklađen…
Moguće je postaviti uslov zasnovan na platformi uređaja (Android, iOS, Windows, macOS...), međutim, ovo se zasniva na user-agent-u tako da je lako zaobići. Čak i ako se sve opcije primenjuju MFA, ako koristite user-agent koji nije prepoznat, moći ćete da zaobiđete MFA ili blokadu:
Samo slanjem pregledača nepoznatog user-agent-a (kao što je Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 920) UCBrowser/10.1.0.563 Mobile
) dovoljno je da ne pokrene ovaj uslov.
Možete promeniti user agent ručno u alatima za razvoj:
Ili koristiti ekstenziju za pregledač kao što je ova.
Ako je ovo postavljeno u uslovnoj politici, napadač bi mogao samo da koristi VPN u dozvoljenoj zemlji ili pokušati da pronađe način da pristupi sa dozvoljene IP adrese da bi zaobišao ove uslove.
Moguće je konfigurisati politike uslovnog pristupa da blokiraju ili primoraju na primer MFA kada korisnik pokuša da pristupi određenoj aplikaciji:
Da biste pokušali da zaobiđete ovu zaštitu, trebali biste videti da li možete prijaviti se samo u bilo koju aplikaciju. Alat AzureAppsSweep ima desetine ID-eva aplikacija hardkodiranih i pokušaće da se prijavi u njih i obavestiće vas i čak dati token ako bude uspešan.
Da biste testirali specifične ID-eve aplikacija u specifičnim resursima, takođe možete koristiti alat kao što je:
Pored toga, moguće je zaštititi metodu prijavljivanja (npr. ako pokušavate da se prijavite iz pregledača ili iz desktop aplikacije). Alat Invoke-MFASweep vrši neke provere kako bi pokušao da zaobiđe ove zaštite.
Alat donkeytoken takođe može biti korišćen u slične svrhe, iako izgleda da nije održavan.
Alat ROPCI takođe može biti korišćen za testiranje ovih zaštita i proveru da li je moguće zaobići MFA ili blokade, ali ovaj alat radi iz whitebox perspektive. Prvo morate preuzeti listu aplikacija koje su dozvoljene u tenant-u, a zatim će pokušati da se prijavi u njih.
Jedna Azure MFA opcija je da primite poziv na konfigurisanom broju telefona gde će biti zatraženo od korisnika da pošalje znak #
.
Pošto su znakovi samo tonovi, napadač bi mogao da kompromituje poruku govora na broju telefona, konfiguriše kao poruku ton #
i zatim, kada se zahteva MFA, osigura da je telefon žrtve zauzet (pozivajući ga) tako da se Azure poziv preusmeri na govornu poštu.
Politike često zahtevaju usklađeni uređaj ili MFA, tako da bi napadač mogao registrovati usklađeni uređaj, dobiti PRT token i na ovaj način zaobići MFA.
Počnite tako što ćete registrovati usklađeni uređaj u Intune, zatim dobijte PRT sa:
Pronađite više informacija o ovoj vrsti napada na sledećoj stranici:
Ovaj skript uzima neke korisničke akreditive i proverava da li može da se prijavi u neke aplikacije.
Ovo je korisno da se vidi da li niste obavezni da koristite MFA za prijavu u neke aplikacije koje kasnije možete zloupotrebiti da escalirate privilegije.
Dobijte sve politike
MFASweep je PowerShell skripta koja pokušava da prijavi na razne Microsoft usluge koristeći dati skup kredencijala i pokušava da identifikuje da li je MFA omogućena. U zavisnosti od toga kako su konfigurirane politike uslovnog pristupa i druga podešavanja višefaktorske autentifikacije, neki protokoli mogu ostati sa jednim faktorom. Takođe ima dodatnu proveru za ADFS konfiguracije i može pokušati da se prijavi na lokalni ADFS server ako je otkriven.
Ovaj alat je pomogao u identifikaciji zaobilaženja MFA i zatim u zloupotrebi API-ja u više produkcionih AAD tenanata, gde su AAD korisnici verovali da imaju primenjen MFA, ali je ROPC zasnovana autentifikacija uspela.
Morate imati dozvole da biste prikazali sve aplikacije kako biste mogli da generišete listu aplikacija za brute-force.
Donkey token je skup funkcija koje imaju za cilj da pomognu bezbednosnim konsultantima koji treba da validiraju Politike uslovnog pristupa, testove za Microsoft portale sa 2FA, itd.
Testirajte svaki portal da li je moguće prijaviti se bez MFA:
Zato što Azure portal nije ograničen, moguće je prikupiti token sa krajnje tačke portala za pristup bilo kojoj usluzi koja je otkrivena prethodnom izvršavanjem. U ovom slučaju, Sharepoint je identifikovan, i traži se token za pristup:
Pretpostavljajući da token ima dozvolu Sites.Read.All (iz Sharepoint-a), čak i ako ne možete da pristupite Sharepoint-u putem veba zbog MFA, moguće je koristiti token za pristup datotekama sa generisanim tokenom:
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)