Az - EntraID Privesc
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Note that no todos los permisos granulares de los roles integrados en Entra ID son elegibles para ser utilizados en roles personalizados.
Este rol contiene los permisos granulares necesarios para poder asignar roles a los principales y para otorgar más permisos a los roles. Ambas acciones podrían ser abusadas para escalar privilegios.
Asignar rol a un usuario:
Agregar más permisos a un rol:
microsoft.directory/applications/credentials/update
Esto permite a un atacante agregar credenciales (contraseñas o certificados) a aplicaciones existentes. Si la aplicación tiene permisos privilegiados, el atacante puede autenticarse como esa aplicación y obtener esos privilegios.
microsoft.directory/applications.myOrganization/credentials/update
Esto permite las mismas acciones que applications/credentials/update
, pero limitadas a aplicaciones de un solo directorio.
microsoft.directory/applications/owners/update
Descripción: Actualizar propietarios de aplicaciones Potencial de abuso: Al agregarse a sí mismos como propietarios, un atacante puede manipular la aplicación, incluidos credenciales y permisos.
microsoft.directory/servicePrincipals/credentials/update
Esto permite a un atacante agregar credenciales a los service principals existentes. Si el service principal tiene privilegios elevados, el atacante puede asumir esos privilegios.
La nueva contraseña generada no aparecerá en la consola web, por lo que esto podría ser una forma sigilosa de mantener la persistencia sobre un principal de servicio.
Desde la API se pueden encontrar con: az ad sp list --query '[?length(keyCredentials) > 0 || length(passwordCredentials) > 0].[displayName, appId, keyCredentials, passwordCredentials]' -o json
Si obtienes el error "code":"CannotUpdateLockedServicePrincipalProperty","message":"Property passwordCredentials is invalid."
es porque no es posible modificar la propiedad passwordCredentials del SP y primero necesitas desbloquearla. Para ello necesitas un permiso (microsoft.directory/applications/allProperties/update
) que te permita ejecutar:
microsoft.directory/servicePrincipals/synchronizationCredentials/manage
Esto permite a un atacante agregar credenciales a los principales de servicio existentes. Si el principal de servicio tiene privilegios elevados, el atacante puede asumir esos privilegios.
microsoft.directory/servicePrincipals/owners/update
Similar a las aplicaciones, este permiso permite agregar más propietarios a un principal de servicio. Ser propietario de un principal de servicio permite controlar sus credenciales y permisos.
Después de agregar un nuevo propietario, intenté eliminarlo, pero la API respondió que el método DELETE no era compatible, incluso si es el método que necesitas usar para eliminar al propietario. Así que no puedes eliminar propietarios en la actualidad.
microsoft.directory/servicePrincipals/disable
y enable
Estos permisos permiten deshabilitar y habilitar principales de servicio. Un atacante podría usar este permiso para habilitar un principal de servicio al que podría acceder de alguna manera para escalar privilegios.
Ten en cuenta que para esta técnica, el atacante necesitará más permisos para tomar el control del principal de servicio habilitado.
microsoft.directory/servicePrincipals/getPasswordSingleSignOnCredentials
& microsoft.directory/servicePrincipals/managePasswordSingleSignOnCredentials
Estos permisos permiten crear y obtener credenciales para el inicio de sesión único, lo que podría permitir el acceso a aplicaciones de terceros.
microsoft.directory/groups/allProperties/update
Este permiso permite agregar usuarios a grupos privilegiados, lo que lleva a la escalada de privilegios.
Nota: Este permiso excluye los grupos asignables de roles de Entra ID.
microsoft.directory/groups/owners/update
Este permiso permite convertirse en propietario de grupos. Un propietario de un grupo puede controlar la membresía y la configuración del grupo, lo que potencialmente puede escalar privilegios al grupo.
Nota: Este permiso excluye los grupos asignables de roles de Entra ID.
microsoft.directory/groups/members/update
Este permiso permite agregar miembros a un grupo. Un atacante podría agregarse a sí mismo o a cuentas maliciosas a grupos privilegiados, lo que puede otorgar acceso elevado.
microsoft.directory/groups/dynamicMembershipRule/update
Este permiso permite actualizar la regla de membresía en un grupo dinámico. Un atacante podría modificar las reglas dinámicas para incluirse a sí mismo en grupos privilegiados sin una adición explícita.
Nota: Este permiso excluye los grupos asignables por rol de Entra ID.
Puede ser posible que los usuarios escalen privilegios modificando sus propias propiedades para ser añadidos como miembros de grupos dinámicos. Para más información, consulta:
microsoft.directory/users/password/update
Este permiso permite restablecer la contraseña a usuarios no administradores, lo que permite a un posible atacante escalar privilegios a otros usuarios. Este permiso no se puede asignar a roles personalizados.
microsoft.directory/users/basic/update
Este privilegio permite modificar las propiedades del usuario. Es común encontrar grupos dinámicos que añaden usuarios en función de los valores de las propiedades, por lo tanto, este permiso podría permitir a un usuario establecer el valor de propiedad necesario para ser miembro de un grupo dinámico específico y escalar privilegios.
Las políticas de acceso condicional mal configuradas que requieren MFA podrían ser eludidas, verifica:
microsoft.directory/devices/registeredOwners/update
Este permiso permite a los atacantes asignarse a sí mismos como propietarios de dispositivos para obtener control o acceso a configuraciones y datos específicos del dispositivo.
microsoft.directory/devices/registeredUsers/update
Este permiso permite a los atacantes asociar su cuenta con dispositivos para obtener acceso o eludir políticas de seguridad.
microsoft.directory/deviceLocalCredentials/password/read
Este permiso permite a los atacantes leer las propiedades de las credenciales de la cuenta de administrador local respaldada para dispositivos unidos a Microsoft Entra, incluyendo la contraseña.
microsoft.directory/bitlockerKeys/key/read
Este permiso permite acceder a las claves de BitLocker, lo que podría permitir a un atacante descifrar unidades, comprometiendo la confidencialidad de los datos.
microsoft.directory/applications/permissions/update
microsoft.directory/servicePrincipals/permissions/update
microsoft.directory/applications.myOrganization/allProperties/update
microsoft.directory/applications/allProperties/update
microsoft.directory/servicePrincipals/appRoleAssignedTo/update
microsoft.directory/applications/appRoles/update
microsoft.directory/applications.myOrganization/permissions/update
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)