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)
Notez que tous les droits granulaires des rôles intégrés dans Entra ID ne sont pas éligibles pour être utilisés dans des rôles personnalisés.
Ce rôle contient les permissions granulaires nécessaires pour pouvoir attribuer des rôles à des principaux et pour donner plus de permissions aux rôles. Les deux actions pourraient être abusées pour escalader les privilèges.
Attribuer un rôle à un utilisateur :
Ajouter plus de permissions à un rôle :
microsoft.directory/applications/credentials/update
Cela permet à un attaquant d'ajouter des identifiants (mots de passe ou certificats) à des applications existantes. Si l'application a des autorisations privilégiées, l'attaquant peut s'authentifier en tant que cette application et obtenir ces privilèges.
microsoft.directory/applications.myOrganization/credentials/update
Cela permet les mêmes actions que applications/credentials/update
, mais limitées aux applications à répertoire unique.
microsoft.directory/applications/owners/update
Description: Mettre à jour les propriétaires des applications Abuse Potential: En s'ajoutant en tant que propriétaire, un attaquant peut manipuler l'application, y compris les identifiants et les autorisations.
microsoft.directory/servicePrincipals/credentials/update
Cela permet à un attaquant d'ajouter des identifiants à des service principals existants. Si le service principal a des privilèges élevés, l'attaquant peut assumer ces privilèges.
Le nouveau mot de passe généré n'apparaîtra pas dans la console web, donc cela pourrait être un moyen furtif de maintenir la persistance sur un principal de service.
Depuis l'API, ils peuvent être trouvés avec : az ad sp list --query '[?length(keyCredentials) > 0 || length(passwordCredentials) > 0].[displayName, appId, keyCredentials, passwordCredentials]' -o json
Si vous obtenez l'erreur "code":"CannotUpdateLockedServicePrincipalProperty","message":"Property passwordCredentials is invalid."
, c'est parce que il n'est pas possible de modifier la propriété passwordCredentials du SP et vous devez d'abord le déverrouiller. Pour cela, vous avez besoin d'une autorisation (microsoft.directory/applications/allProperties/update
) qui vous permet d'exécuter :
microsoft.directory/servicePrincipals/synchronizationCredentials/manage
Cela permet à un attaquant d'ajouter des identifiants à des principaux de service existants. Si le principal de service a des privilèges élevés, l'attaquant peut assumer ces privilèges.
microsoft.directory/servicePrincipals/owners/update
Semblable aux applications, cette autorisation permet d'ajouter d'autres propriétaires à un principal de service. Posséder un principal de service permet de contrôler ses identifiants et ses autorisations.
Après avoir ajouté un nouveau propriétaire, j'ai essayé de le supprimer mais l'API a répondu que la méthode DELETE n'était pas supportée, même si c'est la méthode que vous devez utiliser pour supprimer le propriétaire. Donc, vous ne pouvez pas supprimer les propriétaires de nos jours.
microsoft.directory/servicePrincipals/disable
et enable
Ces permissions permettent de désactiver et d'activer des principaux de service. Un attaquant pourrait utiliser cette permission pour activer un principal de service auquel il pourrait accéder d'une manière ou d'une autre pour escalader ses privilèges.
Notez que pour cette technique, l'attaquant aura besoin de plus de permissions afin de prendre le contrôle du principal de service activé.
microsoft.directory/servicePrincipals/getPasswordSingleSignOnCredentials
& microsoft.directory/servicePrincipals/managePasswordSingleSignOnCredentials
Ces autorisations permettent de créer et d'obtenir des identifiants pour le single sign-on, ce qui pourrait permettre l'accès à des applications tierces.
microsoft.directory/groups/allProperties/update
Cette autorisation permet d'ajouter des utilisateurs à des groupes privilégiés, ce qui entraîne une élévation de privilèges.
Remarque: Cette autorisation exclut les groupes assignables de rôle Entra ID.
microsoft.directory/groups/owners/update
Cette autorisation permet de devenir propriétaire de groupes. Un propriétaire de groupe peut contrôler l'appartenance et les paramètres du groupe, ce qui peut potentiellement entraîner une élévation des privilèges au sein du groupe.
Remarque: Cette autorisation exclut les groupes assignables de rôle Entra ID.
microsoft.directory/groups/members/update
Cette autorisation permet d'ajouter des membres à un groupe. Un attaquant pourrait s'ajouter ou ajouter des comptes malveillants à des groupes privilégiés, ce qui peut accorder un accès élevé.
microsoft.directory/groups/dynamicMembershipRule/update
Cette autorisation permet de mettre à jour la règle d'appartenance dans un groupe dynamique. Un attaquant pourrait modifier les règles dynamiques pour s'inclure dans des groupes privilégiés sans ajout explicite.
Note: Cette permission exclut les groupes assignables de rôle Entra ID.
Il pourrait être possible pour les utilisateurs d'escalader des privilèges en modifiant leurs propres propriétés pour être ajoutés en tant que membres de groupes dynamiques. Pour plus d'infos, consultez :
Az - Dynamic Groups Privescmicrosoft.directory/users/password/update
Cette permission permet de réinitialiser le mot de passe des utilisateurs non administrateurs, permettant à un attaquant potentiel d'escalader des privilèges vers d'autres utilisateurs. Cette permission ne peut pas être assignée à des rôles personnalisés.
microsoft.directory/users/basic/update
Ce privilège permet de modifier les propriétés de l'utilisateur. Il est courant de trouver des groupes dynamiques qui ajoutent des utilisateurs en fonction des valeurs des propriétés, par conséquent, cette autorisation pourrait permettre à un utilisateur de définir la valeur de propriété nécessaire pour être membre d'un groupe dynamique spécifique et d'escalader les privilèges.
Des politiques d'accès conditionnel mal configurées nécessitant MFA pourraient être contournées, vérifiez :
Az - Conditional Access Policies & MFA Bypassmicrosoft.directory/devices/registeredOwners/update
Cette autorisation permet aux attaquants de se désigner comme propriétaires d'appareils pour obtenir le contrôle ou l'accès aux paramètres et données spécifiques à l'appareil.
microsoft.directory/devices/registeredUsers/update
Cette autorisation permet aux attaquants d'associer leur compte à des appareils pour obtenir un accès ou contourner les politiques de sécurité.
microsoft.directory/deviceLocalCredentials/password/read
Cette autorisation permet aux attaquants de lire les propriétés des informations d'identification du compte administrateur local sauvegardé pour les appareils joints à Microsoft Entra, y compris le mot de passe.
microsoft.directory/bitlockerKeys/key/read
Cette autorisation permet d'accéder aux clés BitLocker, ce qui pourrait permettre à un attaquant de déchiffrer des disques, compromettant ainsi la confidentialité des données.
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
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE) Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)