GCP - Secrets Manager Enum

Unterstützen Sie HackTricks

Secret Manager

Google Secret Manager ist eine Tresor-ähnliche Lösung zum Speichern von Passwörtern, API-Schlüsseln, Zertifikaten, Dateien (maximal 64 KB) und anderen sensiblen Daten.

Ein Geheimnis kann verschiedene Versionen speichern, die verschiedene Daten enthalten.

Geheimnisse werden standardmäßig mit einem von Google verwalteten Schlüssel verschlüsselt, aber es ist möglich, einen Schlüssel aus KMS auszuwählen, um das Geheimnis zu verschlüsseln.

In Bezug auf Rotation ist es möglich, Nachrichten zu konfigurieren, die alle paar Tage an Pub-Sub gesendet werden sollen, der Code, der diese Nachrichten abhört, kann das Geheimnis rotieren.

Es ist möglich, einen Tag für die automatische Löschung zu konfigurieren, wenn der angegebene Tag erreicht ist, wird das Geheimnis automatisch gelöscht.

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

Auf der folgenden Seite können Sie überprüfen, wie Sie Berechtigungen des Secret Managers missbrauchen, um Privilegien zu eskalieren.

GCP - Secretmanager Privesc

Post Exploitation

GCP - Secretmanager Post Exploitation

Persistenz

GCP - Secret Manager Persistence

Missbrauch der Rotation

Ein Angreifer könnte das Geheimnis aktualisieren, um Rotationen zu stoppen (damit es nicht geändert wird), oder Rotationen viel seltener durchzuführen (damit das Geheimnis nicht geändert wird) oder die Rotationsnachricht an einen anderen Pub/Sub zu veröffentlichen, oder den ausgeführten Rotationscode zu modifizieren (dies geschieht in einem anderen Dienst, wahrscheinlich in einer Clound-Funktion, daher benötigt der Angreifer privilegierten Zugriff auf die Clound-Funktion oder einen anderen Dienst)

Unterstützen Sie HackTricks

Last updated