Az - Dynamic Groups Privesc

Support HackTricks

Informações Básicas

Grupos dinâmicos são grupos que possuem 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 reverificadas. E quando uma nova regra é criada, todos os dispositivos e usuários são verificados.

Grupos dinâmicos podem ter funções RBAC do Azure atribuídas a eles, mas não é possível adicionar funções do AzureAD a grupos dinâmicos.

Este recurso requer a licença Azure AD premium P1.

Privesc

Note que, por padrão, qualquer usuário pode convidar convidados no Azure AD, então, se uma regra de grupo dinâmico der 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.

Obtenha grupos que permitem associação dinâmica: Get-AzureADMSGroup | ?{$_.GroupTypes -eq 'DynamicMembership'}

Exemplo

  • Exemplo de regra: (user.otherMails -any (_ -contains "tester")) -and (user.userType -eq "guest")

  • Descrição da regra: Qualquer usuário convidado com um email secundário contendo a string 'tester' será adicionado ao grupo

  1. Vá para Azure Active Directory -> Usuários e clique em Quer voltar para a experiência de lista de usuários legada? Clique aqui para sair da visualização

  2. Clique em Novo usuário convidado e convide um email

  3. O perfil do usuário será adicionado ao Azure AD assim que o convite for enviado. Abra o perfil do usuário e clique em (gerenciar) em Convite aceito.

  1. Altere Reenviar convite? para Sim e você obterá uma URL de convite:

  1. Copie a URL e abra-a, faça login como o usuário convidado e aceite o convite

  2. Faça login no cli como o usuário e defina o email secundário

# Login
$password = ConvertTo-SecureString 'password' - AsPlainText -Force
$creds = New-Object
System.Management.Automation.PSCredential('externaltester@somedomain.onmicrosoft.com', $Password)
Connect-AzureAD -Credential $creds -TenantId <tenant_id_of_attacked_domain>

# Alterar configuração de OtherMails
Set-AzureADUser -ObjectId <OBJECT-ID> -OtherMails <Username>@<TENANT_NAME>.onmicrosoft.com -Verbose

Referências

Support HackTricks

Last updated