Az - PHS - Password Hash Sync
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)
Osnovne informacije
Iz dokumenata: Sinhronizacija heša lozinke je jedna od metoda prijavljivanja koja se koristi za postizanje hibridnog identiteta. Azure AD Connect sinhronizuje heš, heša, lozinke korisnika iz lokalne Active Directory instance u cloud-baziranu Azure AD instancu.
To je najčešća metoda koju koriste kompanije za sinhronizaciju lokalnog AD sa Azure AD.
Svi korisnici i heš heševa lozinki se sinhronizuju iz lokalnog u Azure AD. Međutim, lozinke u čistom tekstu ili originalni heševi se ne šalju u Azure AD. Štaviše, ugrađene bezbednosne grupe (kao što su administratori domena...) nisu sinhronizovane u Azure AD.
Sinhronizacija heševa se dešava svake 2 minute. Međutim, prema zadatom podešavanju, istek lozinke i istek naloga nisu sinhronizovani u Azure AD. Tako da korisnik čija je lokalna lozinka istekla (nije promenjena) može nastaviti da pristupa Azure resursima koristeći staru lozinku.
Kada lokalni korisnik želi da pristupi Azure resursu, autentifikacija se vrši na Azure AD.
PHS je neophodan za funkcije kao što su Zaštita identiteta i AAD usluge domena.
Pivotiranje
Kada je PHS konfiguran, neka privilegovana naloga se automatski kreiraju:
Nalog
MSOL_<installationID>
se automatski kreira u lokalnom AD. Ovaj nalog dobija ulogu Nalozi za sinhronizaciju direktorijuma (vidi dokumentaciju) što znači da ima dozvole replikacije (DCSync) u lokalnom AD.Nalog
Sync_<ime lokalnog ADConnect servera>_installationID
se kreira u Azure AD. Ovaj nalog može resetovati lozinku BILO kojem korisniku (sinhronizovanom ili samo u cloudu) u Azure AD.
Lozinke dva prethodna privilegovana naloga su smeštene u SQL server na serveru gde je Azure AD Connect instaliran. Administratori mogu izvući lozinke tih privilegovanih korisnika u čistom tekstu.
Baza podataka se nalazi u C:\Program Files\Microsoft Azure AD Sync\Data\ADSync.mdf
.
Moguće je izvući konfiguraciju iz jedne od tabela, pri čemu je jedna šifrovana:
SELECT private_configuration_xml, encrypted_configuration FROM mms_management_agent;
Šifrovana konfiguracija je šifrovana sa DPAPI i sadrži lozinke MSOL_*
korisnika u lokalnom AD i lozinku Sync_* u AzureAD. Stoga, kompromitovanjem ovih je moguće privesc do AD i AzureAD.
Možete pronaći potpun pregled o tome kako su ove kredencijale smeštene i dešifrovane u ovom predavanju.
Pronalaženje Azure AD connect servera
Ako je server na kojem je instaliran Azure AD connect pridružen domenu (preporučeno u dokumentima), moguće je pronaći ga sa:
Zloupotreba MSOL_*
Možete takođe koristiti adconnectdump da dobijete te kredencijale.
Zloupotreba Sync_*
Kompromitovanjem Sync_*
naloga moguće je resetovati lozinku bilo kog korisnika (uključujući Globalne Administratore)
Takođe je moguće modifikovati lozinke samo za cloud korisnike (čak i ako to nije očekivano)
Moguće je izvući lozinku ovog korisnika.
Druga opcija bi bila da dodelite privilegovane dozvole servisnom principalu, što Sync korisnik ima dozvole da uradi, a zatim pristupite tom servisnom principalu kao način privesc.
Seamless SSO
Moguće je koristiti Seamless SSO sa PHS, koji je podložan drugim zloupotrebama. Proverite to u:
Az - Seamless SSOReference
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Last updated