# Az - Key Vault Post Exploitation

{{#include ../../../banners/hacktricks-training.md}}

## Azure Key Vault

このサービスに関する詳細情報は、以下を確認してください：

{{#ref}}
../az-services/az-keyvault.md
{{#endref}}

### Microsoft.KeyVault/vaults/secrets/getSecret/action

この権限により、プリンシパルはシークレットの値を読み取ることができます：
```bash
az keyvault secret show --vault-name <vault name> --name <secret name>

# Get old version secret value
az keyvault secret show --id https://<KeyVaultName>.vault.azure.net/secrets/<KeyVaultName>/<idOldVersion>
```
### **Microsoft.KeyVault/vaults/certificates/purge/action**

この権限は、プリンシパルがボールトから証明書を永久に削除することを許可します。
```bash
az keyvault certificate purge --vault-name <vault name> --name <certificate name>
```
### **Microsoft.KeyVault/vaults/keys/encrypt/action**

この権限は、プリンシパルがボールトに保存されたキーを使用してデータを暗号化することを許可します。
```bash
az keyvault key encrypt --vault-name <vault name> --name <key name> --algorithm <algorithm> --value <value>

# Example
echo "HackTricks" | base64 # SGFja1RyaWNrcwo=
az keyvault key encrypt --vault-name testing-1231234 --name testing --algorithm RSA-OAEP-256 --value SGFja1RyaWNrcwo=
```
### **Microsoft.KeyVault/vaults/keys/decrypt/action**

この権限は、プリンシパルがボールトに保存されたキーを使用してデータを復号化することを許可します。
```bash
az keyvault key decrypt --vault-name <vault name> --name <key name> --algorithm <algorithm> --value <value>

# Example
az keyvault key decrypt --vault-name testing-1231234 --name testing --algorithm RSA-OAEP-256 --value "ISZ+7dNcDJXLPR5MkdjNvGbtYK3a6Rg0ph/+3g1IoUrCwXnF791xSF0O4rcdVyyBnKRu0cbucqQ/+0fk2QyAZP/aWo/gaxUH55pubS8Zjyw/tBhC5BRJiCtFX4tzUtgTjg8lv3S4SXpYUPxev9t/9UwUixUlJoqu0BgQoXQhyhP7PfgAGsxayyqxQ8EMdkx9DIR/t9jSjv+6q8GW9NFQjOh70FCjEOpYKy9pEGdLtPTrirp3fZXgkYfIIV77TXuHHdR9Z9GG/6ge7xc9XT6X9ciE7nIXNMQGGVCcu3JAn9BZolb3uL7PBCEq+k2rH4tY0jwkxinM45tg38Re2D6CEA==" # This is the result from the previous encryption
```
### **Microsoft.KeyVault/vaults/keys/purge/action**

この権限は、プリンシパルがボールトからキーを永久に削除することを許可します。
```bash
az keyvault key purge --vault-name <vault name> --name <key name>
```
### **Microsoft.KeyVault/vaults/secrets/purge/action**

この権限は、プリンシパルがボールトからシークレットを永久に削除することを許可します。
```bash
az keyvault secret purge --vault-name <vault name> --name <secret name>
```
### **Microsoft.KeyVault/vaults/secrets/setSecret/action**

この権限は、プリンシパルがボールト内のシークレットを作成または更新することを許可します。
```bash
az keyvault secret set --vault-name <vault name> --name <secret name> --value <secret value>
```
### **Microsoft.KeyVault/vaults/certificates/delete**

この権限は、プリンシパルがボールトから証明書を削除することを許可します。証明書は「ソフト削除」状態に移動され、削除されない限り復元可能です。
```bash
az keyvault certificate delete --vault-name <vault name> --name <certificate name>
```
### **Microsoft.KeyVault/vaults/keys/delete**

この権限は、プリンシパルがボールトからキーを削除することを許可します。キーは「ソフト削除」状態に移動され、削除されない限り復元可能です。
```bash
az keyvault key delete --vault-name <vault name> --name <key name>
```
### **Microsoft.KeyVault/vaults/secrets/delete**

この権限は、プリンシパルがボールトからシークレットを削除することを許可します。シークレットは「ソフト削除」状態に移動され、削除されない限り復元可能です。
```bash
az keyvault secret delete --vault-name <vault name> --name <secret name>
```
### Microsoft.KeyVault/vaults/secrets/restore/action

この権限は、プリンシパルがバックアップからシークレットを復元することを許可します。
```bash
az keyvault secret restore --vault-name <vault-name> --file <backup-file-path>
```
### Microsoft.KeyVault/vaults/keys/recover/action
Azure Key Vaultから以前削除されたキーの回復を許可します。
```bash
az keyvault secret recover --vault-name <vault-name> --name <secret-name>

```
{{#include ../../../banners/hacktricks-training.md}}
