Az - Arc vulnerable GPO Deploy Script
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Azure Arc omogućava integraciju novih internih servera (servera pridruženih domeni) u Azure Arc koristeći metodu Group Policy Object. Da bi to olakšao, Microsoft pruža alat za implementaciju potreban za pokretanje procedure onboardinga. Unutar ArcEnableServerGroupPolicy.zip datoteke nalaze se sledeći skripti: DeployGPO.ps1, EnableAzureArc.ps1 i AzureArcDeployment.psm1.
Kada se izvrši, DeployGPO.ps1 skripta obavlja sledeće radnje:
Kreira Azure Arc Servers Onboarding GPO unutar lokalnog domena.
Kopira EnableAzureArc.ps1 skriptu za onboarding na određeni mrežni deo kreiran za proces onboardinga, koji takođe sadrži Windows instalacioni paket.
Kada se pokrene ova skripta, sys administratori treba da obezbede dva glavna parametra: ServicePrincipalId i ServicePrincipalClientSecret. Pored toga, potrebni su i drugi parametri kao što su domen, FQDN servera koji hostuje deo i naziv dela. Dodatne informacije kao što su tenant ID, grupa resursa i druge potrebne informacije takođe moraju biti obezbeđene skripti.
Enkriptovana tajna se generiše u AzureArcDeploy direktorijumu na određenom delu koristeći DPAPI-NG enkripciju. Enkriptovana tajna se čuva u datoteci pod nazivom encryptedServicePrincipalSecret. Dokazi o ovome mogu se naći u DeployGPO.ps1 skripti, gde se enkripcija vrši pozivanjem ProtectBase64 sa $descriptor i $ServicePrincipalSecret kao ulazima. Deskriptor se sastoji od SID-ova grupe Domain Computer i Domain Controller, osiguravajući da se ServicePrincipalSecret može dekriptovati samo od strane Domain Controllers i Domain Computers sigurnosnih grupa, kako je navedeno u komentarima skripte.
Imamo sledeće uslove:
Uspešno smo penetrirali unutrašnju mrežu.
Imamo mogućnost da kreiramo ili preuzmemo kontrolu nad računom računara unutar Active Directory.
Otkrili smo mrežno deljenje koje sadrži AzureArcDeploy direktorijum.
Postoji nekoliko metoda za dobijanje računa računara unutar AD okruženja. Jedna od najčešćih je iskorišćavanje kvote računa računara. Druga metoda uključuje kompromitovanje računa računara kroz ranjive ACL-ove ili razne druge pogrešne konfiguracije.
Kada se dobije nalog mašine, moguće je autentifikovati se koristeći ovaj nalog. Možemo ili koristiti runas.exe komandu sa netonly flagom ili koristiti pass-the-ticket sa Rubeus.exe.
Čuvajući TGT za naš korisnički nalog u memoriji, možemo koristiti sledeći skript za dešifrovanje tajne servisnog principala.
Alternativno, možemo koristiti SecretManagement.DpapiNG.
U ovom trenutku, možemo prikupiti preostale informacije potrebne za povezivanje sa Azure-om iz ArcInfo.json datoteke, koja je smeštena na istom mrežnom deljenju kao i encryptedServicePrincipalSecret datoteka. Ova datoteka sadrži detalje kao što su: TenantId, servicePrincipalClientId, ResourceGroup i još mnogo toga. Sa ovim informacijama, možemo koristiti Azure CLI za autentifikaciju kao kompromitovani service principal.
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)