Az - EntraID Privesc
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Nota che non tutte le autorizzazioni granulari dei ruoli integrati in Entra ID sono idonee per essere utilizzate in ruoli personalizzati.
Questo ruolo contiene le autorizzazioni granulari necessarie per poter assegnare ruoli ai principi e per dare più autorizzazioni ai ruoli. Entrambe le azioni potrebbero essere abusate per escalare i privilegi.
Assegna ruolo a un utente:
Aggiungi più permessi a un ruolo:
microsoft.directory/applications/credentials/update
Questo consente a un attaccante di aggiungere credenziali (password o certificati) a applicazioni esistenti. Se l'applicazione ha permessi privilegiati, l'attaccante può autenticarsi come quell'applicazione e ottenere quei privilegi.
microsoft.directory/applications.myOrganization/credentials/update
Questo consente le stesse azioni di applications/credentials/update
, ma limitate ad applicazioni a directory singola.
microsoft.directory/applications/owners/update
Aggiungendosi come proprietario, un attaccante può manipolare l'applicazione, comprese le credenziali e i permessi.
microsoft.directory/applications/allProperties/update
Un attaccante può aggiungere un URI di reindirizzamento alle applicazioni utilizzate dagli utenti del tenant e poi condividere con loro URL di accesso che utilizzano il nuovo URL di reindirizzamento per rubare i loro token. Si noti che se l'utente era già connesso all'applicazione, l'autenticazione sarà automatica senza che l'utente debba accettare nulla.
Si noti che è anche possibile modificare le autorizzazioni richieste dall'applicazione per ottenere più autorizzazioni, ma in questo caso l'utente dovrà accettare nuovamente il prompt che chiede tutte le autorizzazioni.
microsoft.directory/servicePrincipals/credentials/update
Questo consente a un attaccante di aggiungere credenziali a service principals esistenti. Se il service principal ha privilegi elevati, l'attaccante può assumere quei privilegi.
La nuova password generata non apparirà nella console web, quindi questo potrebbe essere un modo furtivo per mantenere la persistenza su un service principal.
Dall'API possono essere trovati con: az ad sp list --query '[?length(keyCredentials) > 0 || length(passwordCredentials) > 0].[displayName, appId, keyCredentials, passwordCredentials]' -o json
Se ricevi l'errore "code":"CannotUpdateLockedServicePrincipalProperty","message":"Property passwordCredentials is invalid."
è perché non è possibile modificare la proprietà passwordCredentials dello SP e prima devi sbloccarla. Per farlo hai bisogno di un permesso (microsoft.directory/applications/allProperties/update
) che ti consente di eseguire:
microsoft.directory/servicePrincipals/synchronizationCredentials/manage
Questo consente a un attaccante di aggiungere credenziali a service principal esistenti. Se il service principal ha privilegi elevati, l'attaccante può assumere quei privilegi.
microsoft.directory/servicePrincipals/owners/update
Simile alle applicazioni, questo permesso consente di aggiungere ulteriori proprietari a un service principal. Possedere un service principal consente di controllare le sue credenziali e permessi.
Dopo aver aggiunto un nuovo proprietario, ho provato a rimuoverlo ma l'API ha risposto che il metodo DELETE non era supportato, anche se è il metodo che devi usare per eliminare il proprietario. Quindi non puoi rimuovere i proprietari al giorno d'oggi.
microsoft.directory/servicePrincipals/disable
e enable
Queste autorizzazioni consentono di disabilitare e abilitare i service principal. Un attaccante potrebbe utilizzare questa autorizzazione per abilitare un service principal a cui potrebbe accedere in qualche modo per escalare i privilegi.
Nota che per questa tecnica l'attaccante avrà bisogno di ulteriori autorizzazioni per prendere il controllo del service principal abilitato.
microsoft.directory/servicePrincipals/getPasswordSingleSignOnCredentials
& microsoft.directory/servicePrincipals/managePasswordSingleSignOnCredentials
Queste autorizzazioni consentono di creare e ottenere credenziali per il single sign-on che potrebbero consentire l'accesso a applicazioni di terze parti.
microsoft.directory/groups/allProperties/update
Questa autorizzazione consente di aggiungere utenti a gruppi privilegiati, portando a un'escalation dei privilegi.
Nota: Questo permesso esclude i gruppi assegnabili ai ruoli di Entra ID.
microsoft.directory/groups/owners/update
Questo permesso consente di diventare un proprietario di gruppi. Un proprietario di un gruppo può controllare l'appartenenza e le impostazioni del gruppo, potenzialmente aumentando i privilegi nel gruppo.
Nota: Questo permesso esclude i gruppi assegnabili ai ruoli di Entra ID.
microsoft.directory/groups/members/update
Questo permesso consente di aggiungere membri a un gruppo. Un attaccante potrebbe aggiungere se stesso o account malevoli a gruppi privilegiati, concedendo accesso elevato.
microsoft.directory/groups/dynamicMembershipRule/update
Questo permesso consente di aggiornare la regola di appartenenza in un gruppo dinamico. Un attaccante potrebbe modificare le regole dinamiche per includere se stesso in gruppi privilegiati senza un'aggiunta esplicita.
Nota: Questo permesso esclude i gruppi assegnabili ai ruoli di Entra ID.
Potrebbe essere possibile per gli utenti elevare i privilegi modificando le proprie proprietà per essere aggiunti come membri di gruppi dinamici. Per ulteriori informazioni, controlla:
Az - Dynamic Groups Privescmicrosoft.directory/users/password/update
Questo permesso consente di reimpostare la password per gli utenti non amministratori, consentendo a un potenziale attaccante di elevare i privilegi su altri utenti. Questo permesso non può essere assegnato a ruoli personalizzati.
microsoft.directory/users/basic/update
Questo privilegio consente di modificare le proprietà dell'utente. È comune trovare gruppi dinamici che aggiungono utenti in base ai valori delle proprietà, pertanto, questo permesso potrebbe consentire a un utente di impostare il valore della proprietà necessario per essere membro di un gruppo dinamico specifico e ottenere privilegi elevati.
Le politiche di accesso condizionale mal configurate che richiedono MFA potrebbero essere bypassate, controlla:
Az - Conditional Access Policies & MFA Bypassmicrosoft.directory/devices/registeredOwners/update
Questa autorizzazione consente agli attaccanti di assegnarsi come proprietari dei dispositivi per ottenere il controllo o l'accesso a impostazioni e dati specifici del dispositivo.
microsoft.directory/devices/registeredUsers/update
Questo permesso consente agli attaccanti di associare il proprio account ai dispositivi per ottenere accesso o per eludere le politiche di sicurezza.
microsoft.directory/deviceLocalCredentials/password/read
Questa autorizzazione consente agli attaccanti di leggere le proprietà delle credenziali dell'account amministratore locale di backup per i dispositivi uniti a Microsoft Entra, inclusa la password
microsoft.directory/bitlockerKeys/key/read
Questo permesso consente di accedere alle chiavi di BitLocker, il che potrebbe consentire a un attaccante di decrittografare i dischi, compromettendo la riservatezza dei dati.
microsoft.directory/applications/permissions/update
microsoft.directory/servicePrincipals/permissions/update
microsoft.directory/applications.myOrganization/allProperties/update
microsoft.directory/applications/allProperties/update
microsoft.directory/servicePrincipals/appRoleAssignedTo/update
microsoft.directory/applications/appRoles/update
microsoft.directory/applications.myOrganization/permissions/update
Impara e pratica Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)