GCP - Secrets Manager Enum

Support HackTricks

Secret Manager

Google Secret Manager est une solution de type coffre-fort pour stocker des mots de passe, des clés API, des certificats, des fichiers (max 64 Ko) et d'autres données sensibles.

Un secret peut avoir différentes versions stockant différentes données.

Les secrets sont par défaut chiffrés à l'aide d'une clé gérée par Google, mais il est possible de sélectionner une clé de KMS à utiliser pour chiffrer le secret.

Concernant la rotation, il est possible de configurer des messages à envoyer à pub-sub tous les nombres de jours, le code écoutant ces messages peut faire tourner le secret.

Il est possible de configurer un jour pour la suppression automatique, lorsque le jour indiqué est atteint, le secret sera automatiquement supprimé.

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

Élévation de privilèges

Dans la page suivante, vous pouvez vérifier comment abuser des permissions de secretmanager pour élever les privilèges.

GCP - Secretmanager Privesc

Post-exploitation

GCP - Secretmanager Post Exploitation

Persistance

GCP - Secret Manager Persistence

Mauvaise utilisation de la rotation

Un attaquant pourrait mettre à jour le secret pour arrêter les rotations (afin qu'il ne soit pas modifié), ou rendre les rotations beaucoup moins fréquentes (afin que le secret ne soit pas modifié) ou publier le message de rotation sur un autre pub/sub, ou modifier le code de rotation exécuté (cela se produit dans un service différent, probablement dans une Cloud Function, donc l'attaquant aura besoin d'un accès privilégié sur la Cloud Function ou tout autre service)

Soutenir HackTricks

Last updated