From b9c80f368ac3667b4ec00f535c0cdb7659330ec8 Mon Sep 17 00:00:00 2001 From: Translator Date: Wed, 19 Nov 2025 17:18:21 +0000 Subject: [PATCH] Translated ['', 'src/pentesting-cloud/azure-security/az-privilege-escala --- .../az-entraid-privesc/dynamic-groups.md | 50 +++++++++++++++---- 1 file changed, 41 insertions(+), 9 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 d847f1183..90a40159d 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 @@ -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 ''" ` +-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