Az - Dinamik Gruplar Privesc
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
Temel Bilgiler
Dinamik gruplar, bir dizi kural yapılandırılmış olan ve kurallara uyan tüm kullanıcıların veya cihazların gruba eklendiği gruplardır. Her kullanıcı veya cihazın bir özelliği değiştiğinde, dinamik kurallar yeniden kontrol edilir. Ve bir yeni kural oluşturulduğunda tüm cihazlar ve kullanıcılar kontrol edilir.
Dinamik gruplara Azure RBAC rolleri atanabilir, ancak dinamik gruplara AzureAD rolleri eklemek mümkün değildir.
Bu özellik Azure AD premium P1 lisansı gerektirir.
Privesc
Varsayılan olarak herhangi bir kullanıcının Azure AD’de misafirleri davet edebileceğini unutmayın; bu nedenle, eğer bir dinamik grup kuralı yeni bir misafirte ayarlanabilecek özniteliklere dayanarak kullanıcılara izinler veriyorsa, bu özniteliklere sahip bir misafir oluşturmak ve ayrıcalıkları yükseltmek mümkündür. Ayrıca bir misafir kendi profilini yönetip bu öznitelikleri değiştirebilir.
Dinamik üyeliğe izin veren grupları al: az ad group list --query "[?contains(groupTypes, 'DynamicMembership')]" --output table
Dinamik Gruplar Enumerasyonu
Bir dinamik grubun kurallarını alın:
With Azure CLI:
az ad group list \
--filter "groupTypes/any(c:c eq 'DynamicMembership')" \
--query "[].{displayName:displayName, rule:membershipRule}" \
-o table
PowerShell ve Microsoft Graph SDK ile:
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
Örnek
- Kural örneği:
(user.otherMails -any (_ -contains "security")) -and (user.userType -eq "guest") - Kural açıklaması: String ‘security’ içeren bir ikincil e-posta adresine sahip herhangi bir Guest kullanıcı gruba eklenecektir
Guest kullanıcı e-postası için daveti kabul edin ve o kullanıcının mevcut ayarlarını şu adreste kontrol edin https://entra.microsoft.com/#view/Microsoft_AAD_IAM/TenantOverview.ReactView.
Ne yazık ki sayfa öznitelik değerlerini değiştirmeye izin vermiyor, bu yüzden API’yi kullanmamız gerekiyor:
# 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"
Kaynaklar
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
HackTricks Cloud

