Az - Cloud Kerberos Trust

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) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

Ovaj post je sažetak https://dirkjanm.io/obtaining-domain-admin-from-azure-ad-via-cloud-kerberos-trust/ koji se može proveriti za dodatne informacije o napadu. Ova tehnika je takođe komentarisana u https://www.youtube.com/watch?v=AFay_58QubY.

Osnovne informacije

Trust

Kada se uspostavi poverenje sa Azure AD, stvara se Read Only Domain Controller (RODC) u AD-u. RODC korisnički nalog, nazvan AzureADKerberos$. Takođe, postoji sekundarni krbtgt nalog nazvan krbtgt_AzureAD. Ovaj nalog sadrži Kerberos ključeve koji se koriste za karte koje Azure AD kreira.

Dakle, ako je ovaj nalog kompromitovan, moglo bi biti moguće imitirati bilo kog korisnika... iako to nije tačno jer je ovom nalogu onemogućeno kreiranje karata za bilo koju uobičajenu privilegovanu AD grupu kao što su Domain Admins, Enterprise Admins, Administrators...

caution

Međutim, u stvarnom scenariju biće privilegovanih korisnika koji nisu u tim grupama. Tako da bi novi krbtgt nalog, ako bude kompromitovan, mogao biti korišćen za imitaciju njih.

Kerberos TGT

Štaviše, kada se korisnik autentifikuje na Windows-u koristeći hibridni identitet, Azure AD će izdati delimičnu Kerberos kartu zajedno sa PRT-om. TGT je delimičan jer AzureAD ima ograničene informacije o korisniku u on-prem AD-u (kao što su identifikator bezbednosti (SID) i ime).
Windows može zameniti ovu delimičnu TGT za punu TGT tražeći servisnu kartu za krbtgt servis.

NTLM

Kako može biti usluga koja ne podržava Kerberos autentifikaciju već NTLM, moguće je zatražiti delimičnu TGT potpisanu koristeći sekundarni krbtgt ključ uključujući KERB-KEY-LIST-REQ polje u PADATA delu zahteva i zatim dobiti punu TGT potpisanu primarnim krbtgt ključem uključujući NT hash u odgovoru.

Zloupotreba Cloud Kerberos Trust za dobijanje Domain Admin

Kada AzureAD generiše delimičnu TGT, koristiće detalje koje ima o korisniku. Dakle, ako bi Global Admin mogao da izmeni podatke kao što su identifikator bezbednosti i ime korisnika u AzureAD, kada zatraži TGT za tog korisnika, identifikator bezbednosti bi bio drugačiji.

Nije moguće to učiniti putem Microsoft Graph-a ili Azure AD Graph-a, ali je moguće koristiti API koji Active Directory Connect koristi za kreiranje i ažuriranje sinhronizovanih korisnika, što mogu koristiti Global Admini da izmene SAM ime i SID bilo kog hibridnog korisnika, a zatim, ako se autentifikujemo, dobijamo delimičnu TGT koja sadrži izmenjeni SID.

Napomena da ovo možemo učiniti sa AADInternals i ažurirati sinhronizovane korisnike putem Set-AADIntAzureADObject cmdlet-a.

Preduslovi za napad

Uspeh napada i sticanje privilegija Domain Admin zavise od ispunjavanja određenih preduslova:

  • Sposobnost da se menjaju nalozi putem Synchronization API je ključna. To se može postići imajući ulogu Global Admin ili posedujući AD Connect sinhronizovani nalog. Alternativno, uloga Hybrid Identity Administrator bi bila dovoljna, jer omogućava upravljanje AD Connect-om i uspostavljanje novih sinhronizovanih naloga.
  • Prisutnost hibridnog naloga je neophodna. Ovaj nalog mora biti podložan izmeni sa podacima žrtvovanog naloga i takođe bi trebao biti dostupan za autentifikaciju.
  • Identifikacija ciljnog naloga žrtve unutar Active Directory je neophodna. Iako se napad može izvršiti na bilo kom nalogu koji je već sinhronizovan, Azure AD tenant ne sme imati replicirane on-premises identifikatore bezbednosti, što zahteva izmenu nesinhronizovanog naloga kako bi se dobila karta.
  • Pored toga, ovaj nalog bi trebao imati privilegije jednake privilegijama domain admin-a, ali ne sme biti član tipičnih AD administrator grupa kako bi se izbeglo generisanje nevažećih TGT-ova od strane AzureAD RODC-a.
  • Najpogodniji cilj je Active Directory nalog koji koristi AD Connect Sync servis. Ovaj nalog nije sinhronizovan sa Azure AD, ostavljajući njegov SID kao mogući cilj, i inherentno ima privilegije jednake privilegijama domain admin-a zbog svoje uloge u sinhronizaciji hešova lozinki (pod pretpostavkom da je Password Hash Sync aktivan). Za domene sa ekspresnom instalacijom, ovaj nalog je prefiksiran sa MSOL_. Za druge instance, nalog se može identifikovati prebrojavanjem svih naloga koji imaju privilegije Directory Replication na objektu domena.

Potpuni napad

Proverite to u originalnom postu: https://dirkjanm.io/obtaining-domain-admin-from-azure-ad-via-cloud-kerberos-trust/

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) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks