# GCP - Enumerazione del Secrets Manager

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

## Secret Manager

Google [**Secret Manager**](https://cloud.google.com/solutions/secrets-management/) è una soluzione simile a un vault per memorizzare password, chiavi API, certificati, file (max 64KB) e altri dati sensibili.

Un segreto può avere **versioni diverse che memorizzano dati diversi**.

I segreti per **default** sono **crittografati utilizzando una chiave gestita da Google**, ma è **possibile selezionare una chiave da KMS** da utilizzare per crittografare il segreto.

Per quanto riguarda la **rotazione**, è possibile configurare **messaggi da inviare a pub-sub ogni numero di giorni**, il codice che ascolta quei messaggi può **ruotare il segreto**.

È possibile configurare un giorno per la **cancellazione automatica**, quando il giorno indicato è **raggiunto**, il **segreto verrà automaticamente eliminato**.

### Enumerazione
```bash
# First, list the entries
gcloud secrets list
gcloud secrets get-iam-policy <secret_name>

# Then, pull the clear-text of any version of any secret
gcloud secrets versions list <secret_name>
gcloud secrets versions access 1 --secret="<secret_name>"
```
### Privilege Escalation

Nella pagina seguente puoi controllare come **abuse le autorizzazioni di secretmanager per escalare i privilegi.**

{{#ref}}
../gcp-privilege-escalation/gcp-secretmanager-privesc.md
{{#endref}}

### Post Exploitation

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

### Persistence

{{#ref}}
../gcp-persistence/gcp-secret-manager-persistence.md
{{#endref}}

### Rotation misuse

Un attaccante potrebbe aggiornare il segreto per **fermare le rotazioni** (in modo che non venga modificato), o **rendere le rotazioni molto meno frequenti** (in modo che il segreto non venga modificato) o **pubblicare il messaggio di rotazione su un diverso pub/sub**, o modificare il codice di rotazione in esecuzione (questo avviene in un servizio diverso, probabilmente in una Cloud Function, quindi l'attaccante avrà bisogno di accesso privilegiato sulla Cloud Function o su qualsiasi altro servizio)

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