From 68086bf8e4e83307989e91decda00fc7011fb64d Mon Sep 17 00:00:00 2001 From: Translator Date: Wed, 19 Nov 2025 17:18:46 +0000 Subject: [PATCH] Translated ['', 'src/pentesting-cloud/azure-security/az-privilege-escala --- .../az-entraid-privesc/dynamic-groups.md | 52 +++++++++++++++---- 1 file changed, 42 insertions(+), 10 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 bd74fa0f3..ef3026231 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 @@ -2,27 +2,59 @@ {{#include ../../../../banners/hacktricks-training.md}} -## Basic Information +## Βασικές Πληροφορίες -**Dynamic groups** είναι ομάδες που έχουν ένα σύνολο **κανόνων** ρυθμισμένων και όλοι οι **χρήστες ή συσκευές** που ταιριάζουν με τους κανόνες προστίθενται στην ομάδα. Κάθε φορά που ένα **χαρακτηριστικό** χρήστη ή συσκευής **αλλάζει**, οι δυναμικοί κανόνες **επαληθεύονται** ξανά. Και όταν δημιουργείται ένας **νέος κανόνας**, όλες οι συσκευές και οι χρήστες **ελέγχονται**. +**Δυναμικές ομάδες** είναι ομάδες που έχουν ένα σύνολο **κανόνων** διαμορφωμένων και όλοι οι **χρήστες ή συσκευές** που ταιριάζουν με τους κανόνες προστίθενται στην ομάδα. Κάθε φορά που μια **ιδιότητα** χρήστη ή συσκευής **αλλάζει**, οι δυναμικοί κανόνες **επαναελέγχονται**. Και όταν ένας **νέος κανόνας** **δημιουργείται**, όλες οι συσκευές και οι χρήστες **ελέγχονται**. -Οι δυναμικές ομάδες μπορούν να έχουν **Azure RBAC ρόλους** ανατεθειμένους σε αυτές, αλλά **δεν είναι δυνατή** η προσθήκη **AzureAD ρόλων** σε δυναμικές ομάδες. +Οι δυναμικές ομάδες μπορούν να έχουν **Azure RBAC roles** ανατεθεί σε αυτές, αλλά **δεν είναι δυνατό** να προστεθούν **AzureAD roles** σε δυναμικές ομάδες. -Αυτή η δυνατότητα απαιτεί άδεια Azure AD premium P1. +Αυτή η λειτουργία απαιτεί άδεια Azure AD premium P1. ## Privesc -Σημειώστε ότι από προεπιλογή οποιοσδήποτε χρήστης μπορεί να προσκαλεί επισκέπτες στο Azure AD, οπότε, αν ένας κανόνας **δυναμικής ομάδας** δίνει **δικαιώματα** σε χρήστες με βάση **χαρακτηριστικά** που μπορούν να **ρυθμιστούν** σε έναν νέο **επισκέπτη**, είναι δυνατόν να **δημιουργηθεί ένας επισκέπτης** με αυτά τα χαρακτηριστικά και να **ανεβούν τα δικαιώματα**. Είναι επίσης δυνατό για έναν επισκέπτη να διαχειρίζεται το προφίλ του και να αλλάζει αυτά τα χαρακτηριστικά. +Σημειώστε ότι από προεπιλογή οποιοσδήποτε χρήστης μπορεί να προσκαλέσει guests στο Azure AD, οπότε αν ένας **κανόνας** δυναμικής ομάδας δίνει **δικαιώματα** σε χρήστες βάσει **ιδιοτήτων** που μπορούν να **οριστούν** σε ένα νέο **guest**, είναι δυνατό να **δημιουργηθεί ένας guest** με αυτές τις ιδιότητες και να **αποκτηθούν αυξημένα δικαιώματα**. Επίσης, ένας guest μπορεί να διαχειριστεί το δικό του προφίλ και να αλλάξει αυτές τις ιδιότητες. -Αποκτήστε ομάδες που επιτρέπουν Δυναμική συμμετοχή: **`az ad group list --query "[?contains(groupTypes, 'DynamicMembership')]" --output table`** +Λήψη ομάδων που επιτρέπουν Dynamic membership: **`az ad group list --query "[?contains(groupTypes, 'DynamicMembership')]" --output table`** -### Example +### Εντοπισμός δυναμικών ομάδων + +Λήψη των κανόνων μιας δυναμικής ομάδας: + +Με **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 +``` +### Παράδειγμα - **Rule example**: `(user.otherMails -any (_ -contains "security")) -and (user.userType -eq "guest")` -- **Rule description**: Οποιοσδήποτε επισκέπτης χρήστης με δευτερεύον email που περιέχει τη λέξη 'security' θα προστεθεί στην ομάδα +- **Περιγραφή κανόνα**: Οποιοσδήποτε χρήστης Guest με δευτερεύον email που περιέχει τη συμβολοσειρά 'security' θα προστεθεί στην ομάδα -Για το email του επισκέπτη χρήστη, αποδεχτείτε την πρόσκληση και ελέγξτε τις τρέχουσες ρυθμίσεις **αυτού του χρήστη** στο [https://entra.microsoft.com/#view/Microsoft_AAD_IAM/TenantOverview.ReactView](https://entra.microsoft.com/#view/Microsoft_AAD_IAM/TenantOverview.ReactView).\ -Δυστυχώς, η σελίδα δεν επιτρέπει την τροποποίηση των τιμών χαρακτηριστικών, οπότε πρέπει να χρησιμοποιήσουμε το API: +Για το email του χρήστη Guest, αποδεχτείτε την πρόσκληση και ελέγξτε τις τρέχουσες ρυθμίσεις του **χρήστη αυτού** στο [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