Az - Key Vault

Reading time: 8 minutes

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks

Informations de base

Azure Key Vault est un service cloud fourni par Microsoft Azure pour stocker et gérer en toute sécurité des informations sensibles telles que secrets, clés, certificats et mots de passe. Il agit comme un référentiel centralisé, offrant un accès sécurisé et un contrôle granulaire à l'aide d'Azure Active Directory (Azure AD). D'un point de vue sécurité, Key Vault fournit une protection par module de sécurité matériel (HSM) pour les clés cryptographiques, garantit que les secrets sont chiffrés à la fois au repos et en transit, et offre une gestion d'accès robuste grâce à l'accès basé sur les rôles (RBAC) et aux politiques. Il dispose également de journalisation des audits, d'une intégration avec Azure Monitor pour le suivi des accès, et d'une rotation automatique des clés pour réduire le risque d'exposition prolongée des clés.

Voir Azure Key Vault REST API overview pour des détails complets.

Selon les docs, les coffres prennent en charge le stockage de clés logicielles et de clés soutenues par HSM, de secrets et de certificats. Les pools HSM gérés ne prennent en charge que les clés soutenues par HSM.

Le format d'URL pour les coffres est https://{vault-name}.vault.azure.net/{object-type}/{object-name}/{object-version} et pour les pools HSM gérés c'est : https://{hsm-name}.managedhsm.azure.net/{object-type}/{object-name}/{object-version}

Où :

  • vault-name est le nom unique au niveau mondial du coffre de clés
  • object-type peut être "keys", "secrets" ou "certificates"
  • object-name est le nom unique de l'objet dans le coffre de clés
  • object-version est généré par le système et utilisé en option pour adresser une version unique d'un objet.

Pour accéder aux secrets stockés dans le coffre, il est possible de choisir entre 2 modèles de permissions lors de la création du coffre :

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. Seul l'accès basé sur les rôles Azure (RBAC) est pris en charge.
  • Le plan de données, dont la cible est <vault-name>.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 ou Azure RBAC.

Un rôle comme Contributor qui a des permissions 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 de Key Vault

Accès réseau

Dans Azure Key Vault, des règles de pare-feu peuvent être configurées pour permettre les opérations du plan de données uniquement à partir de réseaux virtuels spécifiés ou de plages d'adresses IPv4. 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 :

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

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

De plus, il est possible de créer un point de terminaison privé pour permettre une connexion privée à un coffre.

Protection contre la suppression

Lorsqu'un coffre de clés est créé, le nombre minimum de jours autorisés pour la suppression est de 7. Ce qui signifie que chaque fois que vous essayez de supprimer ce coffre de clés, il faudra au moins 7 jours pour être supprimé.

Cependant, il est possible de créer un coffre avec la protection contre la purge désactivée, ce qui permet de purger le coffre de clés et les objets pendant la période de conservation. Cependant, une fois cette protection activée pour un coffre, elle ne peut pas être désactivée.

Énumération

bash
# 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>

Escalade de privilèges

Az - Key Vault Privesc

Post-exploitation

Az - Key Vault Post Exploitation

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks