GCP - Apikeys Privesc
Reading time: 4 minutes
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Apikeys
Die folgenden Berechtigungen sind nützlich, um API-Schlüssel zu erstellen und zu stehlen, beachten Sie dies aus den Dokumenten: Ein API-Schlüssel ist eine einfache verschlüsselte Zeichenfolge, die eine Anwendung ohne ein Prinzipal identifiziert. Sie sind nützlich, um öffentliche Daten anonym abzurufen, und werden verwendet, um API-Anfragen mit Ihrem Projekt für Quoten und Abrechnung zu verknüpfen.
Daher können Sie mit einem API-Schlüssel das Unternehmen für Ihre Nutzung der API bezahlen lassen, aber Sie werden keine Berechtigungen eskalieren können.
Für weitere Informationen zu API-Schlüsseln siehe:
Für andere Möglichkeiten zur Erstellung von API-Schlüsseln siehe:
Brute Force API Key access
Da Sie möglicherweise nicht wissen, welche APIs im Projekt aktiviert sind oder welche Einschränkungen auf den gefundenen API-Schlüssel angewendet werden, 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"
}
Sie können ein Skript zur Automatisierung der Erstellung, Ausnutzung und Bereinigung einer verwundbaren Umgebung hier finden.
caution
Beachten Sie, dass Benutzer standardmäßig die Berechtigung haben, neue Projekte zu erstellen, und ihnen die Rolle Owner über das neue Projekt zugewiesen wird. Ein Benutzer könnte also ein Projekt und einen API-Schlüssel innerhalb dieses Projekts erstellen.
apikeys.keys.getKeyString
, apikeys.keys.list
Diese Berechtigungen erlauben das Auflisten und Abrufen aller apiKeys 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
Sie finden ein Skript zur Automatisierung der Erstellung, Ausnutzung und Bereinigung einer verwundbaren Umgebung hier.
apikeys.keys.undelete
, apikeys.keys.list
Diese Berechtigungen ermöglichen es Ihnen, gelöschte API-Schlüssel aufzulisten und wiederherzustellen. Der API-Schlüssel wird in der Ausgabe nach der Wiederherstellung 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 Sie dies tun können, obwohl diese Aktion zum Dienst clientauthconfig
gehört laut den Dokumenten:
GWS - Google Platforms Phishing
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.