Az - Dynamic Groups Privesc

Support HackTricks

Basic Information

I gruppi dinamici 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: Get-AzureADMSGroup | ?{$_.GroupTypes -eq 'DynamicMembership'}

Example

  • 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 lasciare l'anteprima

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

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

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

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

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

```powershell
# 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>

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

Riferimenti

Supporta HackTricks

Last updated