Az - Key Vault

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks:

Informations de base

À partir de la documentation : Azure Key Vault est un service cloud pour stocker et accéder de manière sécurisée à des secrets. Un secret est tout ce que vous souhaitez contrôler étroitement l'accès à, comme des clés API, des mots de passe, des certificats ou des clés cryptographiques. Le service Key Vault prend en charge deux types de conteneurs : les coffres et les pools de modules de sécurité matérielle (HSM) gérés. Les coffres prennent en charge le stockage de clés logicielles et HSM, de secrets et de certificats. Les pools de HSM gérés prennent uniquement en charge les clés HSM. Consultez Vue d'ensemble de l'API REST Azure Key Vault pour plus de détails.

Le format d'URL est https://{nom-du-coffre}.vault.azure.net/{type-d'objet}/{nom-de-l'objet}/{version-de-l'objet} Où :

  • nom-du-coffre est le nom unique au niveau mondial du coffre de clés

  • type-d'objet peut être "clés", "secrets" ou "certificats"

  • nom-de-l'objet est le nom unique de l'objet dans le coffre de clés

  • version-de-l'objet est généré par le système et utilisé facultativement pour adresser une version unique d'un objet.

Pour accéder aux secrets stockés dans le coffre, 2 modèles d'autorisations peuvent être utilisés :

  • Politique d'accès au coffre

  • Azure RBAC

Contrôle d'accès

L'accès à une ressource Key Vault est contrôlé par deux plans :

  • Le plan de gestion, dont la cible est management.azure.com.

  • Il est utilisé pour gérer le coffre de clés et les politiques d'accès. Seule la gestion des accès basée sur les rôles Azure (RBAC) est prise en charge.

  • Le plan de données, dont la cible est <nom-du-coffre>.vault.azure.com.

  • Il est utilisé pour gérer et accéder aux données (clés, secrets et certificats) dans le coffre de clés. Cela prend en charge les politiques d'accès au coffre de clés ou Azure RBAC.

Un rôle comme Contributeur qui a des autorisations dans le plan de gestion pour gérer les politiques d'accès peut accéder aux secrets en modifiant les politiques d'accès.

Rôles intégrés RBAC Key Vault

Accès réseau

Dans Azure Key Vault, des règles de pare-feu peuvent être configurées pour autoriser les opérations de plan de données uniquement à partir de plages d'adresses IP virtuelles spécifiées ou de réseaux virtuels. Cette restriction affecte également l'accès via le portail d'administration Azure ; les utilisateurs ne pourront pas lister les clés, secrets ou certificats dans un coffre de clés si leur adresse IP de connexion n'est pas dans la plage autorisée.

Pour analyser et gérer ces paramètres, vous pouvez utiliser l'Azure CLI :

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

Le commande précédente affichera les paramètres du pare-feu de name-vault, y compris les plages IP activées et les politiques pour le trafic refusé.

Énumération

# 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
Apprenez le piratage AWS de zéro à héros avec htARTE (Expert Red Team AWS de HackTricks)!

D'autres façons de soutenir HackTricks :

Dernière mise à jour