# GCP - Secretmanager Privesc

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

## secretmanager

secretmanager に関する詳細情報:

{{#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>

これはまた post exploitation technique でもあるため、以下で見つけることができます:

{{#ref}}
../gcp-post-exploitation/gcp-secretmanager-post-exploitation.md
{{#endref}}

### `secretmanager.secrets.setIamPolicy`

これにより secret manager からシークレットを読み取るアクセスが得られます。例えば次のように使用します:

<details><summary>Add IAM policy binding to secret</summary>
```bash
gcloud secrets add-iam-policy-binding <scret-name> \
--member="serviceAccount:<sa-name>@$PROJECT_ID.iam.gserviceaccount.com" \
--role="roles/secretmanager.secretAccessor"
```
またはポリシーを取り消すには:
```bash
gcloud secrets remove-iam-policy-binding <secret-name> \
--member="serviceAccount:<sa-name>@<PROJECT_ID>.iam.gserviceaccount.com" \
--role="roles/secretmanager.secretAccessor"
```
</details>

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