From c2b779d5da5b39affe880569ebd8df3a605860a5 Mon Sep 17 00:00:00 2001 From: Translator Date: Wed, 19 Nov 2025 17:18:12 +0000 Subject: [PATCH] Translated ['', 'src/pentesting-cloud/azure-security/az-privilege-escala --- .../az-entraid-privesc/dynamic-groups.md | 44 ++++++++++++++++--- 1 file changed, 38 insertions(+), 6 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 6b571e2fb..3bdb8ab6d 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 @@ ## Informações Básicas -**Dynamic groups** são grupos que têm um conjunto de **regras** configuradas e todos os **usuários ou dispositivos** que correspondem às regras são adicionados ao grupo. Sempre que um **atributo** de usuário ou dispositivo é **alterado**, as regras dinâmicas são **reverificadas**. E quando uma **nova regra** é **criada**, todos os dispositivos e usuários são **verificados**. +**Dynamic groups** são grupos que têm um conjunto de **regras** configuradas e todos os **usuários ou dispositivos** que correspondem às regras são adicionados ao grupo. Toda vez que um **atributo** de um usuário ou dispositivo é **alterado**, as regras dinâmicas são **rechecadas**. E quando uma **nova regra** é **criada**, todos os dispositivos e usuários são **verificados**. -Dynamic groups podem ter **Azure RBAC roles** atribuídos a eles, mas **não é possível** adicionar **AzureAD roles** a grupos dinâmicos. +Dynamic groups podem ter **Azure RBAC roles assigned** a eles, mas **não é possível** adicionar **AzureAD roles** a dynamic groups. Esse recurso requer licença Azure AD premium P1. ## Privesc -Observe que, por padrão, qualquer usuário pode convidar convidados no Azure AD, então, se uma **regra** de grupo dinâmico concede **permissões** a usuários com base em **atributos** que podem ser **definidos** em um novo **convidado**, é possível **criar um convidado** com esses atributos e **escalar privilégios**. Também é possível para um convidado gerenciar seu próprio perfil e alterar esses atributos. +Note que por padrão qualquer usuário pode convidar **convidados** no Azure AD, então, se uma **regra** de dynamic group concede **permissões** a usuários com base em **atributos** que podem ser **definidos** em um novo **convidado**, é possível **criar um convidado** com esses atributos e **escalar privilégios**. Também é possível que um convidado gerencie seu próprio perfil e altere esses atributos. -Obtenha grupos que permitem associação dinâmica: **`az ad group list --query "[?contains(groupTypes, 'DynamicMembership')]" --output table`** +Get groups that allow Dynamic membership: **`az ad group list --query "[?contains(groupTypes, 'DynamicMembership')]" --output table`** +### Dynamic Groups Enumeration + +Get the rules of a dynamic group: + +With **Azure CLI**: +```bash +az ad group list \ +--filter "groupTypes/any(c:c eq 'DynamicMembership')" \ +--query "[].{displayName:displayName, rule:membershipRule}" \ +-o table +``` +Com **PowerShell** e **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 +``` ### Exemplo - **Exemplo de regra**: `(user.otherMails -any (_ -contains "security")) -and (user.userType -eq "guest")` - **Descrição da regra**: Qualquer usuário convidado com um e-mail secundário contendo a string 'security' será adicionado ao grupo -Para o e-mail do usuário convidado, aceite o convite e verifique as configurações atuais de **aquele usuário** em [https://entra.microsoft.com/#view/Microsoft_AAD_IAM/TenantOverview.ReactView](https://entra.microsoft.com/#view/Microsoft_AAD_IAM/TenantOverview.ReactView).\ -Infelizmente, a página não permite modificar os valores dos atributos, então precisamos usar a API: +Para o e-mail do usuário convidado, aceite o convite e verifique as configurações atuais de **esse usuário** em [https://entra.microsoft.com/#view/Microsoft_AAD_IAM/TenantOverview.ReactView](https://entra.microsoft.com/#view/Microsoft_AAD_IAM/TenantOverview.ReactView).\ +Infelizmente a página não permite modificar os valores dos atributos, então precisamos usar a API: ```bash # Login with the gust user az login --allow-no-subscriptions