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

This commit is contained in:
Translator
2025-11-19 17:18:15 +00:00
parent 11823a2fe1
commit cb54d12f9d
@@ -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 '<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ı**: '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/<user-object-id>" \
--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/)