Az - Dynamic Groups Privesc

Aprenda hacking na AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras formas de apoiar o HackTricks:

Informações Básicas

Os 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. 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.

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

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

Privilégios de Escalação

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

  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ê receberá um URL de convite:

  1. Copie o URL e abra ele, 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 e-mail secundário

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

# Alterar configuração OtherMails
Set-AzureADUser -ObjectId <ID_DO_OBJETO> -OtherMails <Nome de usuário>@<NOME_DO_TENANT>.onmicrosoft.com -Verbose

Referências

Última actualización