Az - Key Vault

Erlernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Grundlegende Informationen

Aus den Dokumenten: Azure Key Vault ist ein Cloud-Dienst zum sicheren Speichern und Zugreifen auf Geheimnisse. Ein Geheimnis ist alles, auf das Sie den Zugriff eng kontrollieren möchten, wie z. B. API-Schlüssel, Passwörter, Zertifikate oder kryptografische Schlüssel. Der Key Vault-Dienst unterstützt zwei Arten von Containern: Tresore und verwaltete Hardware-Sicherheitsmodul(HSM)-Pools. Tresore unterstützen das Speichern von Software- und HSM-gesicherten Schlüsseln, Geheimnissen und Zertifikaten. Verwaltete HSM-Pools unterstützen nur HSM-gesicherte Schlüssel. Siehe Azure Key Vault REST API-Übersicht für weitere Details.

Das URL-Format lautet https://{tresor-name}.vault.azure.net/{objekt-typ}/{objekt-name}/{objekt-version} Wo:

  • tresor-name ist der global eindeutige Name des Schlüsseltresors

  • objekt-typ kann "keys", "secrets" oder "certificates" sein

  • objekt-name ist der eindeutige Name des Objekts innerhalb des Schlüsseltresors

  • objekt-version wird vom System generiert und optional verwendet, um eine eindeutige Version eines Objekts anzusprechen.

Um auf die im Tresor gespeicherten Geheimnisse zuzugreifen, können zwei Berechtigungsmodelle verwendet werden:

  • Tresorzugriffsrichtlinie

  • Azure RBAC

Zugriffskontrolle

Der Zugriff auf eine Key Vault-Ressource wird von zwei Ebenen gesteuert:

  • Die Verwaltungsebene, deren Ziel management.azure.com ist.

  • Es wird verwendet, um den Schlüsseltresor und Zugriffsrichtlinien zu verwalten. Es wird nur die Azure-Rolle basierte Zugriffssteuerung (RBAC) unterstützt.

  • Die Datenflugebene, deren Ziel <tresor-name>.vault.azure.com ist.

  • Es wird verwendet, um die Daten (Schlüssel, Geheimnisse und Zertifikate) im Schlüsseltresor zu verwalten und darauf zuzugreifen. Dies unterstützt Tresorzugriffsrichtlinien oder Azure RBAC.

Eine Rolle wie Mitwirkender, die Berechtigungen in der Verwaltungsebene hat, um Zugriffsrichtlinien zu verwalten, kann auf die Geheimnisse zugreifen, indem sie die Zugriffsrichtlinien ändert.

Key Vault RBAC Built-In Rollen

Netzwerkzugriff

In Azure Key Vault können Firewall-Regeln eingerichtet werden, um Datenflugoperationen nur aus bestimmten virtuellen Netzwerken oder IPv4-Adressbereichen zuzulassen. Diese Einschränkung betrifft auch den Zugriff über das Azure-Verwaltungsportal; Benutzer können keine Schlüssel, Geheimnisse oder Zertifikate in einem Schlüsseltresor auflisten, wenn ihre Login-IP-Adresse nicht innerhalb des autorisierten Bereichs liegt.

Zur Analyse und Verwaltung dieser Einstellungen können Sie die Azure CLI verwenden:

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

Die vorherige Befehl wird die Firewall-Einstellungen von name-vault anzeigen, einschließlich der aktivierten IP-Bereiche und Richtlinien für abgelehnten Datenverkehr.

Enumeration

# 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
Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Last updated