Az - Dynamic Groups Privesc

Supporta HackTricks

Informazioni di Base

I gruppi dinamici sono gruppi che hanno un set 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 modificato, le regole dinamiche vengono ricontrollate. E quando viene creata una nuova regola, 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 gruppo dinamico concede permessi agli utenti basati su 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 modificare questi attributi.

Ottieni i gruppi che consentono l'appartenenza dinamica: Get-AzureADMSGroup | ?{$_.GroupTypes -eq 'DynamicMembership'}

Esempio

  • Esempio di regola: (user.otherMails -any (_ -contains "tester")) -and (user.userType -eq "guest")

  • Descrizione della regola: Qualsiasi utente ospite con un'email secondaria contenente la stringa 'tester' verrà aggiunto al gruppo

  1. Vai su Azure Active Directory -> Utenti e clicca su Vuoi tornare all'esperienza della lista utenti legacy? Clicca qui per uscire dall'anteprima

  2. Clicca su Nuovo utente ospite e invita un'email

  3. Il profilo dell'utente verrà aggiunto all'Azure AD non appena l'invito viene inviato. Apri il profilo dell'utente e clicca su (gestisci) sotto Invito accettato.

  1. Cambia Reinvia invito? su e otterrai un URL di invito:

  1. Copia l'URL e aprilo, accedi come l'utente invitato e accetta l'invito

  2. Accedi nel cli come l'utente e imposta l'email secondaria

# Login
$password = ConvertTo-SecureString 'password' - AsPlainText -Force
$creds = New-Object
System.Management.Automation.PSCredential('externaltester@somedomain.onmicrosoft.com', $Password)
Connect-AzureAD -Credential $creds -TenantId <tenant_id_of_attacked_domain>

# Cambia impostazione OtherMails
Set-AzureADUser -ObjectId <OBJECT-ID> -OtherMails <Username>@<TENANT_NAME>.onmicrosoft.com -Verbose

Riferimenti

Supporta HackTricks

Last updated