Translated ['', 'src/pentesting-cloud/azure-security/az-privilege-escala

This commit is contained in:
Translator
2025-11-19 17:18:28 +00:00
parent 942489f41d
commit af977fddb0
@@ -4,25 +4,57 @@
## Informations de base
Les **dynamic groups** sont des groupes qui ont un ensemble de **règles** configurées et tous les **utilisateurs ou appareils** qui correspondent aux règles sont ajoutés au groupe. Chaque fois qu'un **attribut** d'utilisateur ou d'appareil est **modifié**, les règles dynamiques sont **vérifiées à nouveau**. Et lorsqu'une **nouvelle règle** est **créée**, tous les appareils et utilisateurs sont **vérifiés**.
**Dynamic groups** sont des groupes qui ont un ensemble de **règles** configurées et tous les **utilisateurs ou appareils** qui correspondent aux règles sont ajoutés au groupe. À chaque fois qu'un **attribut** d'un utilisateur ou d'un appareil est **modifié**, les règles dynamiques sont **réévaluées**. Et lorsqu'une **nouvelle règle** est **créée**, tous les appareils et utilisateurs sont **vérifiés**.
Les groupes dynamiques peuvent avoir des **rôles Azure RBAC assignés** à eux, mais il est **impossible** d'ajouter des **rôles AzureAD** aux groupes dynamiques.
**Dynamic groups** peuvent se voir attribuer des **Azure RBAC roles assigned**, mais il **n'est pas possible** d'ajouter des **AzureAD roles** aux Dynamic groups.
Cette fonctionnalité nécessite une licence Azure AD premium P1.
Cette fonctionnalité nécessite une licence Azure AD Premium P1.
## Privesc
Notez qu'en default, tout utilisateur peut inviter des invités dans Azure AD, donc, si une **règle** de groupe dynamique donne des **permissions** aux utilisateurs en fonction des **attributs** qui peuvent être **définis** dans un nouvel **invité**, il est possible de **créer un invité** avec ces attributs et **escalader les privilèges**. Il est également possible pour un invité de gérer son propre profil et de modifier ces attributs.
Notez que par défaut tout utilisateur peut inviter des guests dans Azure AD. Donc, si une **règle** d'un Dynamic group donne des **permissions** à des utilisateurs basées sur des **attributs** qui peuvent être **définis** sur un nouveau **guest**, il est possible de **créer un guest** avec ces attributs et d'**escalader les privilèges**. Un **guest** peut aussi gérer son propre profil et modifier ces attributs.
Obtenez les groupes qui permettent l'adhésion dynamique : **`az ad group list --query "[?contains(groupTypes, 'DynamicMembership')]" --output table`**
Récupérer les groupes qui autorisent Dynamic membership : **`az ad group list --query "[?contains(groupTypes, 'DynamicMembership')]" --output table`**
### Énumération des Dynamic Groups
Obtenir les règles d'un Dynamic group :
Avec **Azure CLI** :
```bash
az ad group list \
--filter "groupTypes/any(c:c eq 'DynamicMembership')" \
--query "[].{displayName:displayName, rule:membershipRule}" \
-o table
```
Avec **PowerShell** et **Microsoft Graph SDK** :
```bash
Install-Module Microsoft.Graph -Scope CurrentUser -Force
Import-Module Microsoft.Graph
Connect-MgGraph -Scopes "Group.Read.All"
Get-MgGroup -Filter "groupTypes/any(c:c eq 'DynamicMembership')" `
-Property Id, DisplayName, GroupTypes
# Get the rules of a specific group
$g = Get-MgGroup -Filter "displayName eq '<GROUP NAME>'" `
-Property DisplayName, GroupTypes, MembershipRule, MembershipRuleProcessingState
$g | Select-Object DisplayName, GroupTypes, MembershipRule
# Get the rules of all dynamic groups
Get-MgGroup -Filter "groupTypes/any(c:c eq 'DynamicMembership')" `
-Property DisplayName, MembershipRule |
Select-Object DisplayName, MembershipRule
```
### Exemple
- **Exemple de règle** : `(user.otherMails -any (_ -contains "security")) -and (user.userType -eq "guest")`
- **Description de la règle** : Tout utilisateur invité avec un email secondaire contenant la chaîne 'security' sera ajouté au groupe
- **Exemple de règle**: `(user.otherMails -any (_ -contains "security")) -and (user.userType -eq "guest")`
- **Description de la règle**: Tout utilisateur Guest avec un e-mail secondaire contenant la chaîne 'security' sera ajouté au groupe
Pour l'email de l'utilisateur invité, acceptez l'invitation et vérifiez les paramètres actuels de **cet utilisateur** dans [https://entra.microsoft.com/#view/Microsoft_AAD_IAM/TenantOverview.ReactView](https://entra.microsoft.com/#view/Microsoft_AAD_IAM/TenantOverview.ReactView).\
Malheureusement, la page ne permet pas de modifier les valeurs des attributs, donc nous devons utiliser l'API :
Pour l'e-mail de l'utilisateur Guest, acceptez l'invitation et vérifiez les paramètres actuels de **cet utilisateur** dans [https://entra.microsoft.com/#view/Microsoft_AAD_IAM/TenantOverview.ReactView](https://entra.microsoft.com/#view/Microsoft_AAD_IAM/TenantOverview.ReactView).\
Malheureusement, la page n'autorise pas la modification des valeurs des attributs, nous devons donc utiliser l'API:
```bash
# Login with the gust user
az login --allow-no-subscriptions