Az - Key Vault
Reading time: 10 minutes
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
基本情報
Azure Key Vault は、Microsoft Azure が提供するクラウドサービスで、シークレット、キー、証明書、パスワードなどの機密情報を安全に保存および管理します。これは中央集権的なリポジトリとして機能し、Azure Active Directory (Azure AD) を使用して安全なアクセスと細かな制御を提供します。セキュリティの観点から、Key Vault は暗号鍵のためのハードウェアセキュリティモジュール (HSM) 保護を提供し、シークレットが静止時および転送中に暗号化されることを保証し、ロールベースのアクセス制御 (RBAC) とポリシーを通じて堅牢なアクセス管理を提供します。また、監査ログ、アクセス追跡のための Azure Monitor との統合、および長期間の鍵露出によるリスクを軽減するための自動鍵ローテーション機能も備えています。
完全な詳細については、Azure Key Vault REST API 概要を参照してください。
docsによると、Vault はソフトウェアおよび HSM バックの鍵、シークレット、証明書の保存をサポートしています。管理された HSM プールは HSM バックの鍵のみをサポートします。
ボールトのURL形式は https://{vault-name}.vault.azure.net/{object-type}/{object-name}/{object-version}
で、管理された HSM プールの場合は https://{hsm-name}.managedhsm.azure.net/{object-type}/{object-name}/{object-version}
です。
ここで:
vault-name
は鍵ボールトのグローバルにユニークな名前です。object-type
は "keys"、"secrets" または "certificates" です。object-name
は鍵ボールト内でのユニークなオブジェクト名です。object-version
はシステム生成され、オブジェクトのユニークなバージョンを指定するためにオプションで使用されます。
ボールトに保存されたシークレットにアクセスするためには、ボールト作成時に2つの権限モデルのいずれかを選択できます:
- ボールトアクセスポリシー
- Azure RBAC(最も一般的で推奨される)
- サポートされているすべての詳細な権限は、https://learn.microsoft.com/en-us/azure/role-based-access-control/permissions/security#microsoftkeyvault で確認できます。
アクセス制御
Key Vault リソースへのアクセスは、2つのプレーンによって制御されます:
- 管理プレーン、そのターゲットは management.azure.com です。
- これは鍵ボールトとアクセスポリシーを管理するために使用されます。Azure ロールベースのアクセス制御 (RBAC) のみがサポートされています。
- データプレーン、そのターゲットは
<vault-name>.vault.azure.com
です。 - これは鍵ボールト内のデータ(鍵、シークレット、証明書)を管理およびアクセスするために使用されます。これには鍵ボールトアクセスポリシーまたは Azure RBAC がサポートされています。
Contributor のような役割は、アクセスポリシーを管理するための管理プレーンでの権限を持っている場合、アクセスポリシーを変更することでシークレットにアクセスできます。
Key Vault RBAC ビルトインロール
.png)
ネットワークアクセス
Azure Key Vault では、ファイアウォールルールを設定して、指定された仮想ネットワークまたは IPv4 アドレス範囲からのみデータプレーン操作を許可することができます。この制限は Azure 管理ポータルを通じたアクセスにも影響し、ログイン IP アドレスが承認された範囲内でない場合、ユーザーは鍵、シークレット、または証明書を鍵ボールト内でリストすることができません。
これらの設定を分析および管理するために、Azure CLIを使用できます:
az keyvault show --name name-vault --query networkAcls
前のコマンドは、name-vault
のファイアウォール設定を表示します。これには、有効なIP範囲と拒否されたトラフィックのポリシーが含まれます。
さらに、プライベートエンドポイントを作成して、ボールトへのプライベート接続を許可することも可能です。
削除保護
キー ボールトが作成されると、削除を許可する最小日数は7日です。つまり、そのキー ボールトを削除しようとすると、削除には少なくとも7日かかります。
ただし、パージ保護が無効のボールトを作成することも可能で、これにより保持期間中にキー ボールトとオブジェクトをパージできます。ただし、一度この保護がボールトに対して有効になると、無効にすることはできません。
列挙
# List all Key Vaults in the subscription
az keyvault list
# List Key Vaults in a specific Resource Group
az keyvault list --resource-group <ResourceGroupName>
az keyvault list --query '[].{name:name}' -o tsv # Get just the names
# Show details of a specific Key Vault
az keyvault show --name <KeyVaultName> # If accessPolicies, you can see them here
# List all keys in a Key Vault
az keyvault key list --vault-name <KeyVaultName>
# List all secrets in a Key Vault
az keyvault secret list --vault-name <KeyVaultName>
# Get versions of a secret
az keyvault secret list-versions --vault-name <KeyVaultName> --name <SecretName>
# List all certificates in a Key Vault
az keyvault certificate list --vault-name <KeyVaultName>
# List all deleted Key Vaults in the subscription
az keyvault list-deleted
# Get properties of a deleted Key Vault
az keyvault show-deleted --name <KeyVaultName>
# Get assigned roles
az role assignment list --include-inherited --scope "/subscriptions/<subscription-uuid>/resourceGroups/<resource-group>/providers/Microsoft.KeyVault/vaults/<vault-name>"
# Get secret value
az keyvault secret show --vault-name <KeyVaultName> --name <SecretName>
# Get old versions secret value
az keyvault secret show --id https://<KeyVaultName>.vault.azure.net/secrets/<KeyVaultName>/<idOldVersion>
権限昇格
ポストエクスプロイト
Az - Key Vault Post Exploitation
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。