mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-04-28 12:03:08 -07:00
Translated ['', 'src/pentesting-cloud/azure-security/az-privilege-escala
This commit is contained in:
@@ -1,28 +1,60 @@
|
||||
# Az - Динамічні Групи Privesc
|
||||
# Az - Динамічні групи Privesc
|
||||
|
||||
{{#include ../../../../banners/hacktricks-training.md}}
|
||||
|
||||
## Основна Інформація
|
||||
## Основна інформація
|
||||
|
||||
**Динамічні групи** - це групи, які мають набір **правил**, і всі **користувачі або пристрої**, що відповідають цим правилам, додаються до групи. Кожного разу, коли **атрибут** користувача або пристрою **змінюється**, динамічні правила **перевіряються** знову. І коли **створюється нове правило**, всі пристрої та користувачі **перевіряються**.
|
||||
**Динамічні групи** — це групи, для яких налаштовано набір **правил**, і всі **користувачі або пристрої**, що відповідають правилам, додаються до групи. Кожного разу, коли атрибут **користувача** або **пристрою** **змінюється**, динамічні правила **перевіряються повторно**. І коли створюється **нове правило**, всі пристрої та користувачі **перевіряються**.
|
||||
|
||||
Динамічним групам можуть бути призначені **ролі Azure RBAC**, але **неможливо** додати **ролі AzureAD** до динамічних груп.
|
||||
Динамічним групам можна призначати **Azure RBAC roles**, але **неможливо** додати **AzureAD roles** до динамічних груп.
|
||||
|
||||
Ця функція вимагає ліцензії Azure AD premium P1.
|
||||
|
||||
## Privesc
|
||||
|
||||
Зверніть увагу, що за замовчуванням будь-який користувач може запрошувати гостей в Azure AD, тому, якщо правило динамічної групи надає **дозволи** користувачам на основі **атрибутів**, які можуть бути **встановлені** у нового **гостя**, можливо **створити гостя** з цими атрибутами та **ескалювати привілеї**. Також можливо, щоб гість керував своїм власним профілем і змінював ці атрибути.
|
||||
Зверніть увагу, що за замовчуванням будь-який користувач може запрошувати гостей в Azure AD, тож якщо правило динамічної групи дає **права** користувачам на підставі **атрибутів**, які можна **встановити** у нового **гостя**, можливо **створити гостя** з цими атрибутами і **escalate privileges**. Гість також може керувати власним профілем і змінювати ці атрибути.
|
||||
|
||||
Отримати групи, які дозволяють динамічне членство: **`az ad group list --query "[?contains(groupTypes, 'DynamicMembership')]" --output table`**
|
||||
Get groups that allow Dynamic membership: **`az ad group list --query "[?contains(groupTypes, 'DynamicMembership')]" --output table`**
|
||||
|
||||
### Перерахування динамічних груп
|
||||
|
||||
Отримати правила динамічної групи:
|
||||
|
||||
За допомогою **Azure CLI**:
|
||||
```bash
|
||||
az ad group list \
|
||||
--filter "groupTypes/any(c:c eq 'DynamicMembership')" \
|
||||
--query "[].{displayName:displayName, rule:membershipRule}" \
|
||||
-o table
|
||||
```
|
||||
За допомогою **PowerShell** та **Microsoft Graph SDK**:
|
||||
```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
|
||||
```
|
||||
### Приклад
|
||||
|
||||
- **Приклад правила**: `(user.otherMails -any (_ -contains "security")) -and (user.userType -eq "guest")`
|
||||
- **Опис правила**: Будь-який гість з вторинною електронною поштою, що містить рядок 'security', буде доданий до групи
|
||||
- **Опис правила**: Будь-який гостьовий користувач з додатковою електронною поштою, яка містить рядок 'security', буде доданий до групи
|
||||
|
||||
Для електронної пошти користувача-гостя, прийміть запрошення та перевірте поточні налаштування **цього користувача** в [https://entra.microsoft.com/#view/Microsoft_AAD_IAM/TenantOverview.ReactView](https://entra.microsoft.com/#view/Microsoft_AAD_IAM/TenantOverview.ReactView).\
|
||||
На жаль, сторінка не дозволяє змінювати значення атрибутів, тому нам потрібно використовувати API:
|
||||
Для електронної пошти гостьового користувача, прийміть запрошення та перевірте поточні налаштування **цього користувача** на [https://entra.microsoft.com/#view/Microsoft_AAD_IAM/TenantOverview.ReactView](https://entra.microsoft.com/#view/Microsoft_AAD_IAM/TenantOverview.ReactView).\
|
||||
На жаль, сторінка не дозволяє змінювати значення атрибутів, тому потрібно використовувати API:
|
||||
```bash
|
||||
# Login with the gust user
|
||||
az login --allow-no-subscriptions
|
||||
|
||||
Reference in New Issue
Block a user