Az - Key Vault

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Podstawowe informacje

Z dokumentacji: Azure Key Vault to usługa chmurowa do bezpiecznego przechowywania i uzyskiwania dostępu do tajemnic. Tajemnica to cokolwiek, do czego chcesz ściśle kontrolować dostęp, takie jak klucze API, hasła, certyfikaty lub klucze kryptograficzne. Usługa Key Vault obsługuje dwa rodzaje kontenerów: skrytki i zarządzane moduły bezpieczeństwa sprzętowego (HSM). Skrytki obsługują przechowywanie kluczy, tajemnic i certyfikatów wspieranych przez oprogramowanie i HSM. Zarządzane moduły HSM obsługują tylko klucze wspierane przez HSM. Zobacz Przegląd interfejsu API REST Azure Key Vault dla pełnych szczegółów.

Format URL to https://{nazwa-skrzynki}.vault.azure.net/{typ-obiektu}/{nazwa-obiektu}/{wersja-obiektu} Gdzie:

  • nazwa-skrzynki to globalnie unikalna nazwa skrzynki na klucze

  • typ-obiektu może być "klucze", "tajemnice" lub "certyfikaty"

  • nazwa-obiektu to unikalna nazwa obiektu w skrzynce na klucze

  • wersja-obiektu jest generowana przez system i opcjonalnie używana do odwoływania się do unikalnej wersji obiektu.

Aby uzyskać dostęp do przechowywanych w skrzynce tajemnic, można użyć 2 modeli uprawnień:

  • Polityka dostępu do skrzynki

  • Azure RBAC

Kontrola dostępu

Dostęp do zasobu Key Vault jest kontrolowany przez dwie płaszczyzny:

  • Płaszczyzna zarządzania, której celem jest management.azure.com.

  • Służy do zarządzania skrzynką na klucze i politykami dostępu. Obsługiwane jest tylko oparte na rolach dostępu do zasobów w Azure (RBAC).

  • Płaszczyzna danych, której celem jest <nazwa-skrzynki>.vault.azure.com.

  • Służy do zarządzania i uzyskiwania dostępu do danych (kluczy, tajemnic i certyfikatów) w skrzynce na klucze. Obsługuje polityki dostępu do skrzynki na klucze lub Azure RBAC.

Rola tak jak Współtwórca, która ma uprawnienia w miejscu zarządzania do zarządzania politykami dostępu, może uzyskać dostęp do tajemnic, modyfikując polityki dostępu.

Wbudowane role RBAC w Key Vault

Dostęp sieciowy

W Azure Key Vault, można ustawić reguły firewalla w celu zezwolenia na operacje na płaszczyźnie danych tylko z określonych sieci wirtualnych lub zakresów adresów IPv4. To ograniczenie dotyczy również dostępu poprzez portal administracyjny Azure; użytkownicy nie będą mogli wyświetlać kluczy, tajemnic ani certyfikatów w skrzynce na klucze, jeśli ich adres IP logowania nie znajduje się w uprawnionym zakresie.

Do analizy i zarządzania tymi ustawieniami można użyć Azure CLI:

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

Poprzednia komenda wyświetli ustawienia firewalla name-vault, w tym włączone zakresy IP i zasady dotyczące ruchu odrzuconego.

Wyliczanie

# 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

Wprowadzenie

Azure Key Vault to usługa zarządzania tajnymi danymi, takimi jak hasła, klucze szyfrowania i certyfikaty. Zapewnia bezpieczne przechowywanie, dostęp i zarządzanie tajnymi danymi. Może być wykorzystywana do przechowywania informacji uwierzytelniających, takich jak klucze API, które są wykorzystywane przez aplikacje i usługi w chmurze. Azure Key Vault oferuje również funkcje kontroli dostępu, audytowania oraz integracji z innymi usługami Azure.

#!/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
Zacznij od zera i stań się ekspertem od hakowania AWS dzięki htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Last updated