Az - Dynamic Groups Privesc

Aprende hacking en AWS desde cero hasta experto con htARTE (Experto en Red Team de HackTricks en AWS)!

Otras formas de apoyar a HackTricks:

Información Básica

Los grupos dinámicos son grupos que tienen un conjunto de reglas configuradas y todos los usuarios o dispositivos que cumplan con las reglas son agregados al grupo. Cada vez que se cambia un atributo de usuario o dispositivo, las reglas dinámicas son revisadas. Y cuando se crea una nueva regla, todos los dispositivos y usuarios son verificados.

Los grupos dinámicos pueden tener roles de Azure RBAC asignados, pero no es posible agregar roles de AzureAD a grupos dinámicos.

Esta función requiere una licencia premium P1 de Azure AD.

Privilegio de Grupo

Ten en cuenta que por defecto cualquier usuario puede invitar a invitados en Azure AD, por lo tanto, si una regla de grupo dinámico otorga permisos a usuarios basados en atributos que pueden ser establecidos en un nuevo invitado, es posible crear un invitado con estos atributos y escalar privilegios. También es posible para un invitado gestionar su propio perfil y cambiar estos atributos.

Obtener grupos que permiten la membresía dinámica: Get-AzureADMSGroup | ?{$_.GroupTypes -eq 'DynamicMembership'}

Ejemplo

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

  • Descripción de la regla: Cualquier usuario invitado con un correo secundario con la cadena 'tester' será agregado al grupo

  1. Ve a Azure Active Directory -> Usuarios y haz clic en ¿Quieres volver a la experiencia de lista de usuarios heredada? Haz clic aquí para salir de la vista previa

  2. Haz clic en Nuevo usuario invitado e invita un correo electrónico

  3. El perfil del usuario se agregará al Azure AD tan pronto como se envíe la invitación. Abre el perfil del usuario y haz clic en (gestionar) bajo Invitación aceptada.

  1. Cambia ¿Reenviar invitación? a y obtendrás una URL de invitación:

  1. Copia la URL y ábrela, inicia sesión como el usuario invitado y acepta la invitación

  2. Inicia sesión en la CLI como el usuario y establece el correo electrónico secundario

# Iniciar sesión
$password = ConvertTo-SecureString 'contraseña' - AsPlainText -Force
$creds = New-Object
System.Management.Automation.PSCredential('externaltester@somedomain.onmicrosoft.com', $Password)
Connect-AzureAD -Credential $creds -TenantId <tenant_id_del_dominio_atacado>

# Cambiar la configuración de OtherMails
Set-AzureADUser -ObjectId <ID_DE_OBJETO> -OtherMails <NombreDeUsuario>@<NOMBRE_DEL_TENANT>.onmicrosoft.com -Verbose

Referencias

Última actualización