Az - Key Vault

Support HackTricks

基本信息

来自文档: Azure Key Vault 是一个用于安全存储和访问机密的云服务。机密是您希望严格控制访问的任何内容,例如 API 密钥、密码、证书或加密密钥。Key Vault 服务支持两种类型的容器:保险库和托管硬件安全模块(HSM)池。保险库支持存储软件和 HSM 支持的密钥、机密和证书。托管 HSM 池仅支持 HSM 支持的密钥。有关完整详细信息,请参见 Azure Key Vault REST API 概述

URL 格式https://{vault-name}.vault.azure.net/{object-type}/{object-name}/{object-version} 其中:

  • vault-name 是密钥保管库的全球唯一名称

  • object-type 可以是 "keys"、"secrets" 或 "certificates"

  • object-name 是密钥保管库中对象的唯一名称

  • object-version 是系统生成的,可选用于指定对象的唯一版本

为了访问存储在保险库中的机密,可以使用两种权限模型:

  • 保险库访问策略

  • Azure RBAC

访问控制

对 Key Vault 资源的访问由两个平面控制:

  • 管理平面,其目标是 management.azure.com

  • 用于管理密钥保管库和访问策略。仅支持 Azure 基于角色的访问控制(RBAC)。

  • 数据平面,其目标是 <vault-name>.vault.azure.com

  • 用于管理和访问密钥保管库中的数据(密钥、机密和证书)。这支持密钥保管库访问策略或 Azure RBAC

Contributor这样的角色在管理平面中具有管理访问策略的权限,可以通过修改访问策略来访问机密。

Key Vault RBAC 内置角色

网络访问

在 Azure Key Vault 中,可以设置防火墙规则,以仅允许来自指定虚拟网络或 IPv4 地址范围的数据平面操作。此限制也会影响通过 Azure 管理门户的访问;如果用户的登录 IP 地址不在授权范围内,则无法列出密钥、机密或证书。

要分析和管理这些设置,您可以使用Azure CLI

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

该命令将显示name-vault防火墙设置,包括启用的IP范围和拒绝流量的策略。

枚举

# 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
支持 HackTricks

Last updated