Az - Key Vault

Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks:

Informações Básicas

A partir da documentação: O Azure Key Vault é um serviço em nuvem para armazenar e acessar segredos de forma segura. Um segredo é qualquer coisa que você deseja controlar o acesso de forma restrita, como chaves de API, senhas, certificados ou chaves criptográficas. O serviço Key Vault suporta dois tipos de contêineres: cofres e pools de módulos de segurança de hardware gerenciados (HSM). Os cofres suportam o armazenamento de chaves, segredos e certificados com suporte de software e HSM. Os pools de HSM gerenciados suportam apenas chaves com suporte de HSM. Consulte Visão geral da API REST do Azure Key Vault para obter detalhes completos.

O formato de URL é https://{vault-name}.vault.azure.net/{object-type}/{object-name}/{object-version} Onde:

  • vault-name é o nome globalmente único do cofre de chaves

  • object-type pode ser "keys", "secrets" ou "certificates"

  • object-name é o nome único do objeto dentro do cofre de chaves

  • object-version é gerado pelo sistema e opcionalmente usado para abordar uma versão única de um objeto.

Para acessar os segredos armazenados no cofre, podem ser usados 2 modelos de permissões:

  • Política de acesso ao cofre

  • Azure RBAC

Controle de Acesso

O acesso a um recurso do Key Vault é controlado por dois planos:

  • O plano de gerenciamento, cujo alvo é management.azure.com.

  • É usado para gerenciar o cofre de chaves e políticas de acesso. Somente o controle de acesso baseado em funções do Azure (RBAC) é suportado.

  • O plano de dados, cujo alvo é <vault-name>.vault.azure.com.

  • É usado para gerenciar e acessar os dados (chaves, segredos e certificados) no cofre de chaves. Isso suporta políticas de acesso ao cofre de chaves ou Azure RBAC.

Um papel como Contribuinte que possui permissões no plano de gerenciamento para gerenciar políticas de acesso pode obter acesso aos segredos modificando as políticas de acesso.

Funções Integradas do RBAC do Key Vault

Acesso à Rede

No Azure Key Vault, regras de firewall podem ser configuradas para permitir operações de plano de dados apenas de redes virtuais especificadas ou intervalos de endereços IPv4. Essa restrição também afeta o acesso através do portal de administração do Azure; os usuários não poderão listar chaves, segredos ou certificados em um cofre de chaves se o endereço IP de login deles não estiver dentro do intervalo autorizado.

Para analisar e gerenciar essas configurações, você pode usar o Azure CLI:

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

O comando anterior exibirá as configurações do firewall de name-vault, incluindo intervalos de IP habilitados e políticas para tráfego negado.

Enumeração

# 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
Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks:

Última actualización