Az - Key Vault
Reading time: 8 minutes
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
Informazioni di base
Azure Key Vault è un servizio cloud fornito da Microsoft Azure per memorizzare e gestire in modo sicuro informazioni sensibili come segreti, chiavi, certificati e password. Funziona come un repository centralizzato, offrendo accesso sicuro e controllo dettagliato utilizzando Azure Active Directory (Azure AD). Dal punto di vista della sicurezza, Key Vault fornisce protezione tramite modulo di sicurezza hardware (HSM) per le chiavi crittografiche, garantisce che i segreti siano crittografati sia a riposo che in transito e offre una gestione degli accessi robusta tramite controllo degli accessi basato sui ruoli (RBAC) e politiche. Include anche registrazione delle audit, integrazione con Azure Monitor per il tracciamento degli accessi e rotazione automatizzata delle chiavi per ridurre il rischio di esposizione prolungata delle chiavi.
Vedi Azure Key Vault REST API overview per dettagli completi.
Secondo la documentazione, i Vault supportano la memorizzazione di chiavi software e chiavi supportate da HSM, segreti e certificati. I pool HSM gestiti supportano solo chiavi supportate da HSM.
Il formato URL per i vault è https://{vault-name}.vault.azure.net/{object-type}/{object-name}/{object-version}
e per i pool HSM gestiti è: https://{hsm-name}.managedhsm.azure.net/{object-type}/{object-name}/{object-version}
Dove:
vault-name
è il nome unico globale del key vaultobject-type
può essere "keys", "secrets" o "certificates"object-name
è il nome unico dell'oggetto all'interno del key vaultobject-version
è generato dal sistema e utilizzato facoltativamente per indirizzare una versione unica di un oggetto.
Per accedere ai segreti memorizzati nel vault è possibile scegliere tra 2 modelli di autorizzazione durante la creazione del vault:
- Politica di accesso al vault
- Azure RBAC (il più comune e raccomandato)
- Puoi trovare tutte le autorizzazioni granulari supportate in https://learn.microsoft.com/en-us/azure/role-based-access-control/permissions/security#microsoftkeyvault
Controllo degli accessi
L'accesso a una risorsa Key Vault è controllato da due piani:
- Il piano di gestione, il cui obiettivo è management.azure.com.
- Viene utilizzato per gestire il key vault e le politiche di accesso. Solo il controllo degli accessi basato sui ruoli di Azure (RBAC) è supportato.
- Il piano dei dati, il cui obiettivo è
<vault-name>.vault.azure.com
. - Viene utilizzato per gestire e accedere ai dati (chiavi, segreti e certificati) nel key vault. Questo supporta le politiche di accesso al vault o Azure RBAC.
Un ruolo come Contributor che ha autorizzazioni nel piano di gestione per gestire le politiche di accesso può accedere ai segreti modificando le politiche di accesso.
Ruoli integrati RBAC di Key Vault
.png)
Accesso alla rete
In Azure Key Vault, è possibile impostare regole di firewall per consentire operazioni del piano dati solo da reti virtuali specificate o intervalli di indirizzi IPv4. Questa restrizione influisce anche sull'accesso tramite il portale di amministrazione di Azure; gli utenti non saranno in grado di elencare chiavi, segreti o certificati in un key vault se il loro indirizzo IP di accesso non è all'interno dell'intervallo autorizzato.
Per analizzare e gestire queste impostazioni, puoi utilizzare l'Azure CLI:
az keyvault show --name name-vault --query networkAcls
Il comando precedente mostrerà le impostazioni del firewall di name-vault
, inclusi gli intervalli IP abilitati e le politiche per il traffico negato.
Inoltre, è possibile creare un endpoint privato per consentire una connessione privata a un vault.
Protezione dalla Cancellazione
Quando viene creato un key vault, il numero minimo di giorni per consentire la cancellazione è 7. Ciò significa che ogni volta che si tenta di eliminare quel key vault, saranno necessari almeno 7 giorni per essere eliminato.
Tuttavia, è possibile creare un vault con protezione dalla cancellazione disabilitata, che consente al key vault e agli oggetti di essere eliminati durante il periodo di retention. Anche se, una volta che questa protezione è abilitata per un vault, non può essere disabilitata.
Enumerazione
# List all Key Vaults in the subscription
az keyvault list
# List Key Vaults in a specific Resource Group
az keyvault list --resource-group <ResourceGroupName>
# Show details of a specific Key Vault
az keyvault show --name <KeyVaultName> # If accessPolicies, you can see them here
# List all keys in a Key Vault
az keyvault key list --vault-name <KeyVaultName>
# List all secrets in a Key Vault
az keyvault secret list --vault-name <KeyVaultName>
# Get versions of a secret
az keyvault secret list-versions --vault-name <KeyVaultName> --name <SecretName>
# List all certificates in a Key Vault
az keyvault certificate list --vault-name <KeyVaultName>
# List all deleted Key Vaults in the subscription
az keyvault list-deleted
# Get properties of a deleted Key Vault
az keyvault show-deleted --name <KeyVaultName>
# Get assigned roles
az role assignment list --include-inherited --scope "/subscriptions/<subscription-uuid>/resourceGroups/<resource-group>/providers/Microsoft.KeyVault/vaults/<vault-name>"
# Get secret value
az keyvault secret show --vault-name <KeyVaultName> --name <SecretName>
# Get old versions secret value
az keyvault secret show --id https://<KeyVaultName>.vault.azure.net/secrets/<KeyVaultName>/<idOldVersion>
Escalation dei privilegi
Post Sfruttamento
Az - Key Vault Post Exploitation
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.