GCP - Secrets Manager Enum

Support HackTricks

Secret Manager

Google Secret Manager è una soluzione simile a una cassaforte 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 definizione 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.

Enumeration

# 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 abusare dei permessi di secretmanager per escalare i privilegi.

Post Exploitation

Persistence

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)

Support HackTricks

Last updated