Az - Dynamic Groups Privesc

Impara l'hacking su AWS da zero a esperto con htARTE (Esperto Red Team di HackTricks su AWS)!

Altri modi per supportare HackTricks:

Informazioni di Base

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 dell'utente o del 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 del gruppo dinamico dà 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 una email secondaria contenente la stringa 'tester' verrà aggiunto al gruppo

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

  2. Clicca su Nuovo utente ospite e invita una 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 Accettazione invito.

  1. Cambia Rispedisci invito? a e otterrai un URL di invito:

  1. Copia l'URL e aprilo, effettua il login come utente invitato e accetta l'invito

  2. Effettua il login nella 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>

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

Riferimenti

Last updated