GCP - Apikeys Privesc

Lernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Apikeys

Die folgenden Berechtigungen sind nützlich, um API-Schlüssel zu erstellen und zu stehlen, nicht dies aus den Dokumenten: Ein API-Schlüssel ist ein einfacher verschlüsselter String, der eine Anwendung ohne jeglichen Prinzipal identifiziert. Sie sind nützlich, um öffentliche Daten anonym abzurufen, und werden verwendet, um **API-Anfragen mit Ihrem Projekt für Kontingente und Abrechnung zu verknüpfen.

Daher können Sie mit einem API-Schlüssel bewirken, dass das Unternehmen für Ihre Nutzung der API bezahlt, aber Sie können keine Berechtigungen eskalieren.

Für weitere Informationen zu API-Schlüsseln siehe:

pageGCP - API Keys Enum

Für andere Möglichkeiten, API-Schlüssel zu erstellen, siehe:

pageGCP - Serviceusage Privesc

Brute-Force-API-Schlüsselzugriff

Da Sie möglicherweise nicht wissen, welche APIs im Projekt aktiviert sind oder welche Einschränkungen auf den von Ihnen gefundenen API-Schlüssel angewendet wurden, wäre es interessant, das Tool https://github.com/ozguralp/gmapsapiscanner auszuführen und zu überprüfen, auf was Sie mit dem API-Schlüssel zugreifen können.

apikeys.keys.create

Diese Berechtigung ermöglicht es, einen API-Schlüssel zu erstellen:

gcloud services api-keys create
Operation [operations/akmf.p7-[...]9] complete. Result: {
"@type":"type.googleapis.com/google.api.apikeys.v2.Key",
"createTime":"2022-01-26T12:23:06.281029Z",
"etag":"W/\"HOhA[...]==\"",
"keyString":"AIzaSy[...]oU",
"name":"projects/5[...]6/locations/global/keys/f707[...]e8",
"uid":"f707[...]e8",
"updateTime":"2022-01-26T12:23:06.378442Z"
}

Du findest ein Skript zur Automatisierung der Erstellung, Ausnutzung und Bereinigung einer verwundbaren Umgebung hier.

Beachte, dass Benutzer standardmäßig Berechtigungen zum Erstellen neuer Projekte haben und sie die Rolle des Eigentümers über das neue Projekt erhalten. Ein Benutzer könnte also ein Projekt erstellen und einen API-Schlüssel innerhalb dieses Projekts erstellen.

apikeys.keys.getKeyString, apikeys.keys.list

Diese Berechtigungen ermöglichen das Auflisten und Abrufen aller API-Schlüssel und das Abrufen des Schlüssels:

for  key  in  $(gcloud services api-keys list --uri); do
gcloud services api-keys get-key-string "$key"
done

Du findest ein Skript zur Automatisierung der Erstellung, Ausnutzung und Bereinigung einer verwundbaren Umgebung hier.

apikeys.keys.undelete , apikeys.keys.list

Diese Berechtigungen ermöglichen es dir, gelöschte API-Schlüssel aufzulisten und neu zu generieren. Der API-Schlüssel wird im Output nach dem Wiederherstellen angezeigt:

gcloud services api-keys list --show-deleted
gcloud services api-keys undelete <key-uid>

Erstellen Sie eine interne OAuth-Anwendung, um andere Mitarbeiter zu phishen

Überprüfen Sie die folgende Seite, um zu erfahren, wie dies gemacht wird, obwohl diese Aktion zum Dienst clientauthconfig gehört gemäß der Dokumentation:

pageGWS - Google Platforms Phishing

Last updated