Az - Automation Account
Osnovne informacije
Iz dokumentacije: Azure Automation pruža uslugu automatizacije zasnovanu na oblaku, ažuriranja operativnog sistema i konfiguracije koja podržava dosledno upravljanje u okviru vašeg Azure i ne-Azure okruženja. Uključuje automatizaciju procesa, upravljanje konfiguracijom, upravljanje ažuriranjima, deljene mogućnosti i heterogene funkcije.
Ovo su kao "zakazani zadaci" u Azure-u koji će vam omogućiti izvršavanje stvari (akcija ili čak skripti) za upravljanje, proveru i konfiguraciju Azure okruženja.
Run As nalog
Kada se koristi Run as nalog, kreira se Azure AD aplikacija sa samopotpisanim sertifikatom, kreira se servisni princip i dodeljuje se uloga Contributor za nalog u trenutnoj pretplati (mnogo privilegija). Microsoft preporučuje korišćenje Managed Identity za Automation Account.
Ovo će biti uklonjeno 30. septembra 2023. godine i zamenjeno sa Managed Identities.
Runbooks & Jobs
Runbooks vam omogućavaju da izvršite proizvoljni PowerShell kod. To bi moglo biti zloupotrebljeno od strane napadača kako bi se ukrale dozvole povezanog principala (ako postoji). U kodu Runbook-a takođe možete pronaći osetljive informacije (kao što su akreditivi).
Ako možete pročitati poslove, uradite to jer sadrže izlaz iz izvršavanja (potencijalno osetljive informacije).
Idite na Automation Accounts
--> <Izaberite Automation Account>
--> Runbooks/Jobs/Hybrid worker groups/Watcher tasks/credentials/variables/certificates/connections
Hybrid Worker
Runbook se može pokrenuti u kontejneru unutar Azure-a ili u Hybrid Worker-u (mašina van Azure-a). Agent za Log Analytics se implementira na virtuelnoj mašini kako bi je registrovao kao hybrid worker. Poslovi hybrid worker-a se izvršavaju kao SYSTEM na Windows-u i kao nxautomation nalog na Linux-u. Svaki Hybrid Worker je registrovan u Hybrid Worker Group.
Dakle, ako možete da izaberete da pokrenete Runbook u Windows Hybrid Worker-u, izvršićete proizvoljne komande unutar spoljne mašine kao System (lepa tehnika pivota).
Kompromitacija State Configuration (SC)
Iz dokumentacije: Azure Automation State Configuration je Azure usluga za upravljanje konfiguracijom koja vam omogućava pisanje, upravljanje i kompajliranje PowerShell Desired State Configuration (DSC) konfiguracija za čvorove u bilo kojem oblaku ili lokalnom datacentru. Usluga takođe uvozi DSC resurse i dodeljuje konfiguracije ciljnim čvorovima, sve to u oblaku. Do Azure Automation State Configuration možete pristupiti u Azure portalu tako što ćete izabrati State configuration (DSC) pod Configuration Management.
U ovim konfiguracijama mogu se pronaći osetljive informacije.
RCE
Moguće je zloupotrebiti SC da se pokrenu proizvoljni skriptovi na upravljanim mašinama.
Enumeracija
Kreiranje Runbook-a
Izvlačenje podataka o pristupu i promenljivih definisanih u Automation Account-u korišćenjem Run Book-a
Možete uraditi istu stvar modifikujući postojeći Run Book, i to putem web konzole.
Koraci za podešavanje automatizovanog kreiranja korisnika sa visokim privilegijama
1. Inicijalizacija Automation Account-a
Potrebna akcija: Kreirajte novi Automation Account.
Specifično podešavanje: Proverite da je omogućeno "Create Azure Run As account".
2. Uvoz i podešavanje Runbook-a
Izvor: Preuzmite primer runbook-a sa MicroBurst GitHub repozitorijuma.
Potrebne akcije:
Uvezite runbook u Automation Account.
Objavite runbook kako bi bio izvršiv.
Povežite webhook sa runbook-om, omogućavajući spoljne okidače.
3. Konfiguracija AzureAD modula
Potrebna akcija: Dodajte AzureAD modul u Automation Account.
Dodatni korak: Proverite da su svi Azure Automation moduli ažurirani na najnovije verzije.
4. Dodela dozvola
Uloge za dodelu:
User Administrator
Subscription Owner
Cilj: Dodelite ove uloge Automation Account-u radi neophodnih privilegija.
5. Svest o mogućem gubitku pristupa
Napomena: Imajte na umu da konfigurisanje ovakve automatizacije može dovesti do gubitka kontrole nad pretplatom.
6. Pokretanje kreiranja korisnika
Pokrenite webhook kako biste kreirali novog korisnika slanjem POST zahteva.
Koristite pruženi PowerShell skript, obezbeđujući da zamenite
$uri
sa stvarnom URL adresom webhook-a i ažurirajte$AccountInfo
sa željenim korisničkim imenom i lozinkom.
Reference
Last updated