# GCP - Secretmanager Post Exploitation

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

## Secretmanager

Secret Manager の詳細については、以下を参照してください：

{{#ref}}
../gcp-services/gcp-secrets-manager-enum.md
{{#endref}}

### `secretmanager.versions.access`

これにより secret manager からシークレットを読み取ることができ、保存されている情報によっては権限昇格に役立つ可能性があります。

<details>

<summary>シークレットバージョンにアクセス</summary>
```bash
# Get clear-text of version 1 of secret: "<secret name>"
gcloud secrets versions access 1 --secret="<secret_name>"
```
</details>

### `secretmanager.versions.destroy`
`secretmanager.versions.destroy` 権限は、Secret Manager のシークレットの特定のバージョンを恒久的に破棄（回復不可能な削除としてマーク）することをアイデンティティに許可します。これにより重要な認証情報が削除され、denial of service を引き起こしたり、機密データの復旧を妨げたりする可能性があります。
```bash
gcloud secrets versions destroy <VERSION> --secret="<SECRET_NAME>" --project=<PROJECTID>
```
### `secretmanager.versions.disable`
`secretmanager.versions.disable` 権限は、アイデンティティが Secret Manager のアクティブなシークレットバージョンを無効化できるようにし、それらに依存するアプリケーションやサービスからの利用を一時的にブロックします。
```bash
gcloud secrets versions disable <VERSION> --secret="<SECRET_NAME>" --project=<PROJECTID>
```
### `secretmanager.secrets.delete`
`secretmanager.secrets.delete` の権限セットは、アイデンティティが Secret Manager 内のシークレットとその保存されているすべてのバージョンを完全に削除できるようにします。
```bash
gcloud secrets delete <SECRET_NAME> --project=<PROJECT_ID>
```
### `secretmanager.secrets.update`
`secretmanager.secrets.update` 権限は、アイデンティティがシークレットのメタデータや設定（例：ローテーション設定、バージョンポリシー、ラベル、特定のシークレットプロパティなど）を変更できるようにします。
```bash
gcloud secrets update SECRET_NAME \
--project=PROJECT_ID \
--clear-labels \
--rotation-period=DURATION
```
{{#include ../../../banners/hacktricks-training.md}}
