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 95bb3a1a4..2b45972bb 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 @@ -4,25 +4,57 @@ ## Basiese Inligting -**Dinamiese groepe** is groepe wat 'n stel **reëls** geconfigureer het en alle **gebruikers of toestelle** wat aan die reëls voldoen, word aan die groep toegevoegd. Elke keer as 'n gebruiker of toestel **attribuut** **gewysig** word, word dinamiese reëls **herkontroleer**. En wanneer 'n **nuwe reël** **gecreëer** word, word alle toestelle en gebruikers **gekontroleer**. +**Dinamiese groepe** is groepe wat 'n stel **reëls** gekonfigureer het en alle **gebruikers of toestelle** wat by die reëls pas by die groep gevoeg word. Elke keer as 'n gebruiker of toestel se **attribuut** verander, word die dinamiese reëls **opnuut nagegaan**. En wanneer 'n **nuwe reël** geskep word, word alle toestelle en gebruikers **gekontroleer**. -Dinamiese groepe kan **Azure RBAC rolle** aan hulle toegeken hê, maar dit is **nie moontlik** om **AzureAD rolle** aan dinamiese groepe toe te voeg nie. +Dinamiese groepe kan aan hulle **Azure RBAC roles** toegeken word, maar dit is **nie moontlik** om **AzureAD roles** aan dinamiese groepe toe te voeg. Hierdie funksie vereis 'n Azure AD premium P1 lisensie. ## Privesc -Let daarop dat enige gebruiker standaard gaste in Azure AD kan uitnooi, so, as 'n dinamiese groep **reël** **toestemmings** aan gebruikers gee op grond van **attribuut** wat in 'n nuwe **gast** **gestel** kan word, is dit moontlik om 'n gast met hierdie attribuut te **skep** en **privileges te eskaleer**. Dit is ook moontlik vir 'n gast om sy eie profiel te bestuur en hierdie attribuut te verander. +Let daarop dat standaard enige gebruiker gaste in Azure AD kan nooi. As 'n dinamiese groep se **reël** **toestemmings** aan gebruikers gee gebaseer op **attribuutte** wat in 'n nuwe **gast** gestel kan word, is dit moontlik om 'n **gast** met hierdie attribuutte te **skep** en **bevoegdhede op te skaal**. Dit is ook moontlik vir 'n gast om sy eie profiel te bestuur en hierdie attribuutte te verander. -Kry groepe wat dinamiese lidmaatskap toelaat: **`az ad group list --query "[?contains(groupTypes, 'DynamicMembership')]" --output table`** +Kry groepe wat Dynamiese lidmaatskap toelaat: **`az ad group list --query "[?contains(groupTypes, 'DynamicMembership')]" --output table`** +### Dinamiese Groepe Enumerasie + +Kry die reëls van 'n dinamiese groep: + +Met **Azure CLI**: +```bash +az ad group list \ +--filter "groupTypes/any(c:c eq 'DynamicMembership')" \ +--query "[].{displayName:displayName, rule:membershipRule}" \ +-o table +``` +Met **PowerShell** en **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 +``` ### Voorbeeld -- **Reël voorbeeld**: `(user.otherMails -any (_ -contains "security")) -and (user.userType -eq "guest")` -- **Reël beskrywing**: Enige Gaste gebruiker met 'n sekondêre e-pos met die string 'security' sal aan die groep toegevoegd word +- **Reëlvoorbeeld**: `(user.otherMails -any (_ -contains "security")) -and (user.userType -eq "guest")` +- **Reëlbeskrywing**: Enige Guest-gebruiker met 'n sekondêre e-posadres wat die string 'security' bevat, sal by die groep gevoeg word -Vir die Gaste gebruiker se e-pos, aanvaar die uitnodiging en kontroleer die huidige instellings van **daardie gebruiker** in [https://entra.microsoft.com/#view/Microsoft_AAD_IAM/TenantOverview.ReactView](https://entra.microsoft.com/#view/Microsoft_AAD_IAM/TenantOverview.ReactView).\ -Ongelukkig laat die bladsy nie toe om die attribuutwaardes te wysig nie, so ons moet die API gebruik: +Vir die Guest-gebruiker se e-pos, aanvaar die uitnodiging en kyk na die huidige instellings van **daardie gebruiker** in [https://entra.microsoft.com/#view/Microsoft_AAD_IAM/TenantOverview.ReactView](https://entra.microsoft.com/#view/Microsoft_AAD_IAM/TenantOverview.ReactView).\ +Ongelukkig laat die bladsy dit nie toe om die attribuutwaardes te verander nie, so ons moet die API gebruik: ```bash # Login with the gust user az login --allow-no-subscriptions