GCP - Secrets Manager Enum

Support HackTricks

Secret Manager

Google Secret Manager es una solución similar a un vault para almacenar contraseñas, claves API, certificados, archivos (máx. 64KB) y otros datos sensibles.

Un secreto puede tener diferentes versiones almacenando diferentes datos.

Los secretos por defecto están encriptados usando una clave gestionada por Google, pero es posible seleccionar una clave de KMS para usarla para encriptar el secreto.

En cuanto a la rotación, es posible configurar mensajes que se envían a pub-sub cada número de días, el código que escucha esos mensajes puede rotar el secreto.

Es posible configurar un día para la eliminación automática, cuando el día indicado es alcanzado, el secreto será eliminado automáticamente.

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>"

Escalamiento de Privilegios

En la siguiente página puedes verificar cómo abusar de los permisos de secretmanager para escalar privilegios.

Post Explotación

Persistencia

Uso indebido de la Rotación

Un atacante podría actualizar el secreto para detener las rotaciones (para que no sea modificado), o hacer que las rotaciones sean mucho menos frecuentes (para que el secreto no sea modificado) o publicar el mensaje de rotación en un pub/sub diferente, o modificar el código de rotación que se está ejecutando (esto ocurre en un servicio diferente, probablemente en una Cloud Function, por lo que el atacante necesitará acceso privilegiado sobre la Cloud Function o cualquier otro servicio)

Support HackTricks

Last updated