mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-07-28 22:51:09 -07:00
Translated ['', 'src/pentesting-cloud/azure-security/az-privilege-escala
This commit is contained in:
+40
-8
@@ -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/)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user