Az - Key Vault

Az - Key Vault

Aprende hacking en AWS desde cero hasta experto con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Información Básica

Desde la documentación: Azure Key Vault es un servicio en la nube para almacenar y acceder de forma segura a secretos. Un secreto es cualquier cosa a la que quieras controlar el acceso de forma estricta, como claves API, contraseñas, certificados o claves criptográficas. El servicio Key Vault admite dos tipos de contenedores: bóvedas y grupos de módulos de seguridad de hardware administrados (HSM). Las bóvedas admiten el almacenamiento de claves, secretos y certificados respaldados por software y HSM. Los grupos de HSM administrados solo admiten claves respaldadas por HSM. Consulta Descripción general de la API REST de Azure Key Vault para obtener detalles completos.

El formato de URL es https://{nombre-bóveda}.vault.azure.net/{tipo-objeto}/{nombre-objeto}/{versión-objeto} Donde:

  • nombre-bóveda es el nombre globalmente único de la bóveda de claves

  • tipo-objeto puede ser "claves", "secretos" o "certificados"

  • nombre-objeto es el nombre único del objeto dentro de la bóveda de claves

  • versión-objeto es generado por el sistema y opcionalmente utilizado para hacer referencia a una versión única de un objeto.

Para acceder a los secretos almacenados en la bóveda, se pueden utilizar 2 modelos de permisos:

  • Política de acceso a la bóveda

  • Azure RBAC

Control de Acceso

El acceso a un recurso de Key Vault está controlado por dos planos:

  • El plano de gestión, cuyo objetivo es management.azure.com.

  • Se utiliza para gestionar la bóveda de claves y los permisos de acceso. Solo se admite el control de acceso basado en roles de Azure (RBAC).

  • El plano de datos, cuyo objetivo es <nombre-bóveda>.vault.azure.com.

  • Se utiliza para gestionar y acceder a los datos (claves, secretos y certificados) en la bóveda de claves. Esto admite políticas de acceso a la bóveda de claves o Azure RBAC.

Un rol como Contributor que tiene permisos en el lugar de gestión para gestionar políticas de acceso puede acceder a los secretos modificando las políticas de acceso.

Roles Integrados de RBAC de Key Vault

Acceso a la Red

En Azure Key Vault, se pueden configurar reglas de firewall para permitir operaciones de plano de datos solo desde redes virtuales especificadas o rangos de direcciones IPv4. Esta restricción también afecta el acceso a través del portal de administración de Azure; los usuarios no podrán listar claves, secretos o certificados en una bóveda de claves si su dirección IP de inicio de sesión no está dentro del rango autorizado.

Para analizar y gestionar estas configuraciones, puedes utilizar la Azure CLI:

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

El comando anterior mostrará la configuración del firewall de name-vault, incluidos los rangos de IP habilitados y las políticas para el tráfico denegado.

Enumeración

# 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

```bash #!/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

<details>

<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>

Otras formas de apoyar a HackTricks:

* Si quieres ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtén el [**swag oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).

</details>

Última actualización