Az - PHS - Password Hash Sync
Last updated
Last updated
Prema dokumentaciji: Sinkronizacija heš lozinke je jedan od metoda prijave koji se koristi za postizanje hibridnog identiteta. Azure AD Connect sinhronizuje heš, heša, lozinke korisnika iz lokalnog Active Directory primera u oblak zasnovan na Azure AD.
To je najčešća metoda koju koriste kompanije za sinhronizaciju lokalnog AD-a sa Azure AD-om.
Svi korisnici i heš lozinki se sinhronizuju sa lokalnog na Azure AD. Međutim, lozinke u čistom tekstu ili originalni heševi nisu poslati na Azure AD. Osim toga, ugrađene sigurnosne grupe (kao što su administratorski domen...) nisu sinhronizovane sa Azure AD-om.
Sinhronizacija heševa se dešava svakih 2 minuta. Međutim, podrazumevano, istek lozinke i istek naloga nisu sinhronizovani u Azure AD-u. Dakle, korisnik čija je lozinka na lokalnom AD-u istekla (nije promenjena) može nastaviti da pristupa Azure resursima koristeći staru lozinku.
Kada korisnik sa lokalnog AD-a želi da pristupi Azure resursu, autentikacija se vrši na Azure AD-u.
PHS je potreban za funkcije kao što su Zaštita identiteta i AAD Domain Services.
Kada je PHS konfigurisan, automatski su kreirani neki privilegovani nalozi:
Nalog MSOL_<installationID>
je automatski kreiran u lokalnom AD-u. Ovom nalogu je dodeljena uloga Directory Synchronization Accounts (videti dokumentaciju) što znači da ima dozvole za replikaciju (DCSync) u lokalnom AD-u.
Nalog Sync_<ime lokalnog ADConnect Servera>_installationID
je kreiran u Azure AD-u. Ovaj nalog može resetovati lozinku BILO KOG korisnika (sinhronizovanog ili samo u oblaku) u Azure AD-u.
Lozinke za ova dva prethodno privilegovana naloga su sačuvane u SQL serveru 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 enkriptovana:
SELECT private_configuration_xml, encrypted_configuration FROM mms_management_agent;
Enkriptovana konfiguracija je enkriptovana sa DPAPI i sadrži lozinke korisnika MSOL_*
u lokalnom AD-u i lozinku Sync_* u AzureAD-u. Stoga, kompromitovanjem ovih, moguće je dobiti privilegije u AD-u i AzureAD-u.
Možete pronaći potpuni pregled kako su ove lozinke sačuvane i dešifrovane u ovom predavanju.
Ako je server na kojem je instaliran Azure AD Connect pridružen domenu (preporučeno u dokumentaciji), moguće ga je pronaći sa:
Možete takođe koristiti adconnectdump da biste dobili ove akreditive.
Kompromitovanjem Sync_*
naloga moguće je resetovati lozinku bilo kog korisnika (uključujući Globalne Administratore)
Takođe je moguće izmeniti lozinke samo cloud korisnicima (čak i ako je to neočekivano)
Takođe je moguće iskopati lozinku ovog korisnika.
Druga opcija bila bi dodeljivanje privilegovanih dozvola servisnom principu, kojeg Sync korisnik ima dozvole da uradi, a zatim pristupiti tom servisnom principu kao način priveska.
Moguće je koristiti Bezšavno SSO sa PHS-om, što je ranjivo na druge zloupotrebe. Proverite u:
Az - Seamless SSO