Az - Key Vault

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

Altri modi per supportare HackTricks:

Informazioni di Base

Dalla documentazione: Azure Key Vault è un servizio cloud per memorizzare e accedere in modo sicuro a segreti. Un segreto è qualsiasi cosa a cui si desidera controllare strettamente l'accesso, come chiavi API, password, certificati o chiavi crittografiche. Il servizio Key Vault supporta due tipi di contenitori: vault e pool di moduli di sicurezza hardware gestiti (HSM). I vault supportano la memorizzazione di chiavi, segreti e certificati supportati da software e HSM. I pool HSM gestiti supportano solo chiavi supportate da HSM. Consulta Panoramica dell'API REST di Azure Key Vault per i dettagli completi.

Il formato dell'URL è https://{vault-name}.vault.azure.net/{object-type}/{object-name}/{object-version} Dove:

  • vault-name è il nome globalmente unico del key vault

  • object-type può essere "keys", "secrets" o "certificates"

  • object-name è il nome unico dell'oggetto all'interno del key vault

  • object-version è generato dal sistema e facoltativamente utilizzato per indirizzare una versione unica di un oggetto.

Per accedere ai segreti memorizzati nel vault possono essere utilizzati 2 modelli di autorizzazioni:

  • Policy di accesso al vault

  • Azure RBAC

Controllo di Accesso

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 policy di accesso. È supportato solo il controllo degli accessi basato su ruoli di Azure (RBAC).

  • Il piano 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 policy di accesso al key vault o Azure RBAC.

Un ruolo come Contributor che ha autorizzazioni nel piano di gestione per gestire le policy di accesso può accedere ai segreti modificando le policy di accesso.

Ruoli Integrati RBAC di Key Vault

Accesso di Rete

In Azure Key Vault, è possibile impostare regole del firewall per consentire operazioni sul 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 potranno elencare chiavi, segreti o certificati in un key vault se il loro indirizzo IP di accesso non è nell'intervallo autorizzato.

Per analizzare e gestire queste impostazioni, è possibile utilizzare l'Azure CLI:

az keyvault show --name name-vault --query networkAcls

Il comando precedente visualizzerà le impostazioni del firewall di name-vault, inclusi gli intervalli IP abilitati e le politiche per il traffico negato.

Enumerazione

# Get keyvault token
curl "$IDENTITY_ENDPOINT?resource=https://vault.azure.net&api-version=2017-09-01" -H secret:$IDENTITY_HEADER

# Connect with PS AzureAD
## $token from management API
Connect-AzAccount -AccessToken $token -AccountId 1937ea5938eb-10eb-a365-10abede52387 -KeyVaultAccessToken $keyvaulttoken

# List vaults
Get-AzKeyVault
# Get secrets names from the vault
Get-AzKeyVaultSecret -VaultName <vault_name>
# Get secret values
Get-AzKeyVaultSecret -VaultName <vault_name> -Name <secret_name> –AsPlainText
#!/bin/bash

# Dump all keyvaults from the subscription

# Define Azure subscription ID
AZ_SUBSCRIPTION_ID="your-subscription-id"

# Specify the filename for output
CSV_OUTPUT="vault-names-list.csv"

# Login to Azure account
az login

# Select the desired subscription
az account set --subscription $AZ_SUBSCRIPTION_ID

# Retrieve all resource groups within the subscription
AZ_RESOURCE_GROUPS=$(az group list --query "[].name" -o tsv)

# Initialize the CSV file with headers
echo "Vault Name,Associated Resource Group" > $CSV_OUTPUT

# Iterate over each resource group
for GROUP in $AZ_RESOURCE_GROUPS
do
# Fetch key vaults within the current resource group
VAULT_LIST=$(az keyvault list --resource-group $GROUP --query "[].name" -o tsv)

# Process each key vault
for VAULT in $VAULT_LIST
do
# Extract the key vault's name
VAULT_NAME=$(az keyvault show --name $VAULT --resource-group $GROUP --query "name" -o tsv)

# Append the key vault name and its resource group to the file
echo "$VAULT_NAME,$GROUP" >> $CSV_OUTPUT
done
done
Impara l'hacking su AWS da zero a eroe con htARTE (Esperto Red Team di HackTricks su AWS)!

Altri modi per supportare HackTricks:

Last updated