From cb54d12f9de00926dc4131cfaf8646318127f570 Mon Sep 17 00:00:00 2001 From: Translator Date: Wed, 19 Nov 2025 17:18:15 +0000 Subject: [PATCH] Translated ['', 'src/pentesting-cloud/azure-security/az-privilege-escala --- .../az-entraid-privesc/dynamic-groups.md | 48 +++++++++++++++---- 1 file changed, 40 insertions(+), 8 deletions(-) diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/dynamic-groups.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/dynamic-groups.md index 28f012e83..4e0d6b1cb 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/dynamic-groups.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/dynamic-groups.md @@ -4,25 +4,57 @@ ## Temel Bilgiler -**Dinamik gruplar**, belirli bir **kural** setine sahip olan ve bu kurallara uyan tüm **kullanıcılar veya cihazlar** grubun içine eklenen gruplardır. Her seferinde bir kullanıcı veya cihazın **özelliği** **değiştiğinde**, dinamik kurallar **yeniden kontrol edilir**. Ve yeni bir **kural** **oluşturulduğunda**, tüm cihazlar ve kullanıcılar **kontrol edilir**. +**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. +Bu özellik Azure AD premium P1 lisansı gerektirir. ## Privesc -Varsayılan olarak, herhangi bir kullanıcının Azure AD'de misafir davet edebileceğini unutmayın, bu nedenle, bir dinamik grup **kuralı**, **özelliklere** dayalı olarak kullanıcılara **izinler** veriyorsa ve bu özellikler yeni bir **misafir** içinde **belirlenebiliyorsa**, bu özelliklere sahip bir **misafir** oluşturmak ve **yetki yükseltmek** mümkündür. Ayrıca, bir misafirin kendi profilini yönetmesi ve bu özellikleri değiştirmesi de mümkündür. +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 **misafir**te **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ın: **`az ad group list --query "[?contains(groupTypes, 'DynamicMembership')]" --output table`** +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**: +```bash +az ad group list \ +--filter "groupTypes/any(c:c eq 'DynamicMembership')" \ +--query "[].{displayName:displayName, rule:membershipRule}" \ +-o table +``` +**PowerShell** ve **Microsoft Graph SDK** ile: +```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 ''" ` +-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ı**: 'security' dizesine sahip bir ikincil e-posta adresine sahip herhangi bir Misafir kullanıcı gruba eklenecektir. +- **Kural açıklaması**: String 'security' içeren bir ikincil e-posta adresine sahip herhangi bir Guest kullanıcı gruba eklenecektir -Misafir kullanıcı e-postası için daveti kabul edin ve **o kullanıcının** mevcut ayarlarını [https://entra.microsoft.com/#view/Microsoft_AAD_IAM/TenantOverview.ReactView](https://entra.microsoft.com/#view/Microsoft_AAD_IAM/TenantOverview.ReactView) adresinde kontrol edin.\ -Ne yazık ki, sayfa özellik değerlerini değiştirmeye izin vermiyor, bu nedenle API'yi kullanmamız gerekiyor: +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](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: ```bash # Login with the gust user az login --allow-no-subscriptions @@ -41,7 +73,7 @@ az rest --method GET \ --url "https://graph.microsoft.com/v1.0/users/" \ --query "otherMails" ``` -## Referanslar +## Kaynaklar - [https://www.mnemonic.io/resources/blog/abusing-dynamic-groups-in-azure-ad-for-privilege-escalation/](https://www.mnemonic.io/resources/blog/abusing-dynamic-groups-in-azure-ad-for-privilege-escalation/)