From ec2d5bd9291caadc036cef23de98708f88f33afd Mon Sep 17 00:00:00 2001 From: Translator Date: Wed, 19 Nov 2025 17:18:21 +0000 Subject: [PATCH] Translated ['', 'src/pentesting-cloud/azure-security/az-privilege-escala --- .../az-entraid-privesc/dynamic-groups.md | 50 +++++++++++++++---- 1 file changed, 41 insertions(+), 9 deletions(-) diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/dynamic-groups.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/dynamic-groups.md index 6bd716ec3..eb87033bd 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/dynamic-groups.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/dynamic-groups.md @@ -2,27 +2,59 @@ {{#include ../../../../banners/hacktricks-training.md}} -## Osnovne Informacije +## 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čke grupe** su grupe koje imaju podešen skup **pravila**, i svi **korisnici ili uređaji** koji se poklapaju sa tim pravilima bivaju dodati u grupu. Svaki put kad se **atribut** korisnika ili uređaja **promeni**, dinamička pravila se ponovo **proveravaju**. I kada se **novo pravilo** **kreira**, svi uređaji i korisnici se **provere**. -Dinamičkim grupama se mogu dodeliti **Azure RBAC uloge**, ali nije **moguće** dodati **AzureAD uloge** dinamičkim grupama. +Dinamičkim grupama se mogu dodeliti **Azure RBAC roles**, ali nije **moguće** dodati **AzureAD roles** 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. +Imajte na umu da po defaultu bilo koji korisnik može pozvati goste u Azure AD, tako da, ako dinamičko grupno **pravilo** dodeljuje **dozvole** korisnicima na osnovu **atributa** koji se mogu **podesiti** kod novog **gosta**, moguće je **kreirati gosta** sa tim atributima i **eskalirati 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`** +Dobijte grupe koje omogućavaju Dynamic membership: **`az ad group list --query "[?contains(groupTypes, 'DynamicMembership')]" --output table`** +### Enumeracija dinamičkih grupa + +Preuzmite pravila dinamičke grupe: + +With **Azure CLI**: +```bash +az ad group list \ +--filter "groupTypes/any(c:c eq 'DynamicMembership')" \ +--query "[].{displayName:displayName, rule:membershipRule}" \ +-o table +``` +Pomoću **PowerShell** i **Microsoft Graph SDK**: +```bash +Install-Module Microsoft.Graph -Scope CurrentUser -Force +Import-Module Microsoft.Graph + +Connect-MgGraph -Scopes "Group.Read.All" + +Get-MgGroup -Filter "groupTypes/any(c:c eq 'DynamicMembership')" ` +-Property Id, DisplayName, GroupTypes + +# Get the rules of a specific group +$g = Get-MgGroup -Filter "displayName eq ''" ` +-Property DisplayName, GroupTypes, MembershipRule, MembershipRuleProcessingState + +$g | Select-Object DisplayName, GroupTypes, MembershipRule + +# Get the rules of all dynamic groups +Get-MgGroup -Filter "groupTypes/any(c:c eq 'DynamicMembership')" ` +-Property DisplayName, MembershipRule | +Select-Object DisplayName, MembershipRule +``` ### 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 +- **Opis pravila**: Bilo koji gostujući korisnik koji u sekundarnom e-mailu ima tekst '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](https://entra.microsoft.com/#view/Microsoft_AAD_IAM/TenantOverview.ReactView).\ -Nažalost, stranica ne dozvoljava modifikaciju vrednosti atributa, tako da moramo koristiti API: +Za e-mail gostujućeg korisnika, prihvatite pozivnicu i proverite trenutna podešavanja **tog korisnika** na [https://entra.microsoft.com/#view/Microsoft_AAD_IAM/TenantOverview.ReactView](https://entra.microsoft.com/#view/Microsoft_AAD_IAM/TenantOverview.ReactView).\ +Nažalost, stranica ne dozvoljava izmenu vrednosti atributa, pa moramo koristiti API: ```bash # Login with the gust user az login --allow-no-subscriptions @@ -41,7 +73,7 @@ az rest --method GET \ --url "https://graph.microsoft.com/v1.0/users/" \ --query "otherMails" ``` -## Reference +## Referencije - [https://www.mnemonic.io/resources/blog/abusing-dynamic-groups-in-azure-ad-for-privilege-escalation/](https://www.mnemonic.io/resources/blog/abusing-dynamic-groups-in-azure-ad-for-privilege-escalation/)