For the complete documentation index, see llms.txt. This page is also available as Markdown.

AZ_GET_KEYS

Summary

Forestall ACL Alias

AZ_GET_KEYS

Azure Alias

Get Keys (Key Vault Data Plane)

Affected Object Types

Key Vaults

Exploitation Certainty

Certain

Permission

Key Vault data-plane permission keys/get - either via Key Vault access policy or Azure RBAC role Key Vault Crypto User (12338af0-0e69-4776-bea7-57ae8d297424)

Description

AZ_GET_KEYS represents the ability to read keys from an Azure Key Vault. This is a data-plane permission that allows retrieval of cryptographic keys stored in the vault.

Key Vault keys are used for:

  • Data encryption/decryption (Azure Disk Encryption, Storage Service Encryption, SQL TDE).

  • Signing and verification of tokens, documents, and code.

  • Wrapping and unwrapping other keys (key encryption keys).

  • Authentication via certificate-backed keys.

A principal with this permission can read key material, which depending on the key type and configuration may enable:

  • Decryption of protected data.

  • Forging signed tokens or documents.

  • Impersonation of services that use the key for authentication.

Note: For HSM-protected keys, the private key material cannot be exported, but operations (sign, decrypt) can still be performed if the principal also has keys/sign or keys/decrypt permissions.

Identification

PowerShell (Az Module)

Azure Portal

  1. Open Azure Portal -> navigate to the target Key Vault.

  2. Go to Access policies -> review policies that include Get under Key permissions.

  3. Alternatively, go to Access control (IAM) -> review assignments for Key Vault Crypto User or higher roles.

Exploitation

Step 1 - Grant Yourself Key Access (as Key Vault Contributor)

Step 2 - Read All Keys

Read Key Vault keys with PowerShell

Via PowerZure

  • Get-AzureKeyVaultContent

  • Export-AzureKeyVaultContent

Mitigation

  1. Restrict key access policies

    • Go to Azure Portal -> target Key Vault -> Access policies.

    • Remove get permission from any principal that does not need to read keys.

    • Use the principle of least privilege.

  2. Use HSM-protected keys

    • For the most sensitive keys, use HSM-backed keys that prevent key material export.

  3. Switch to Azure RBAC model

    • Use granular RBAC roles like Key Vault Crypto User instead of broad access policies.

  4. Enable diagnostic logging

    • Go to Key Vault -> Diagnostic settings -> enable AuditEvent logging.

Detection

Use the Azure Portal:

  1. Open Azure Portal -> target Key Vault.

  2. Open Monitoring -> Metrics and review key operation activity for unusual spikes in KeyGet, KeyList, sign, or decrypt operations.

  3. Open Activity log and review management-plane changes to access policies, role assignments, or vault configuration around the same timeframe.

  4. Open Diagnostic settings and confirm AuditEvent logging is enabled for future investigations.

  5. Open Access control (IAM) and Access policies to review identities with key read or cryptographic permissions.

References

Last updated

Was this helpful?