# GCP - Secretmanager Privesc

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

## secretmanager

Per maggiori informazioni su secretmanager:

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

### `secretmanager.versions.access`

Questo ti permette di leggere i secret dal secret manager e potrebbe aiutare a scalare i privilegi (a seconda delle informazioni memorizzate all'interno del secret):

<details><summary>Ottieni la versione del secret in chiaro</summary>
```bash
# Get clear-text of version 1 of secret: "<secret name>"
gcloud secrets versions access 1 --secret="<secret_name>"
```
</details>

Poiché questo è anche una post exploitation technique, può essere trovato in:

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

### `secretmanager.secrets.setIamPolicy`

Questo ti consente di leggere i secrets dal secret manager, ad esempio usando:

<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"
```
Oppure revoca le policy con:
```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}}
