GCP - Cloud Functions Enum
Last updated
Last updated
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Google Cloud Functions sind dafür konzipiert, deinen Code zu hosten, der als Reaktion auf Ereignisse ausgeführt wird, ohne dass die Verwaltung eines Host-Betriebssystems erforderlich ist. Darüber hinaus unterstützen diese Funktionen die Speicherung von Umgebungsvariablen, die der Code nutzen kann.
Der Cloud Functions Code wird in GCP Storage gespeichert. Daher kann jeder mit Lesezugriff auf Buckets in GCP den Cloud Functions Code lesen. Der Code wird in einem Bucket wie einem der folgenden gespeichert:
gcf-sources-<number>-<region>/<function-name>-<uuid>/version-<n>/function-source.zip
gcf-v2-sources-<number>-<region>/<function-name>function-source.zip
Zum Beispiel:
gcf-sources-645468741258-us-central1/function-1-003dcbdf-32e1-430f-a5ff-785a6e238c76/version-4/function-source.zip
Jeder Benutzer mit Leseprivilegien über den Bucket, der die Cloud-Funktion speichert, könnte den ausgeführten Code lesen.
Wenn die Cloud-Funktion so konfiguriert ist, dass der ausgeführte Docker-Container in einem Artifact Registry-Repo innerhalb des Projekts gespeichert wird, kann jeder mit Lesezugriff auf das Repo das Image herunterladen und den Quellcode überprüfen. Für weitere Informationen siehe:
GCP - Artifact Registry EnumWenn nicht angegeben, wird standardmäßig das App Engine Standarddienstkonto mit Editor-Berechtigungen über das Projekt an die Cloud-Funktion angehängt.
Wenn eine Cloud-Funktion erstellt wird, muss der Trigger angegeben werden. Ein häufiger ist HTTPS, dies wird eine URL erstellen, über die die Funktion über das Web aufgerufen werden kann. Andere Trigger sind pub/sub, Storage, Filestore...
Das URL-Format ist https://<region>-<project-gcp-name>.cloudfunctions.net/<func_name>
Wenn der HTTPS-Trigger verwendet wird, wird auch angegeben, ob der Aufrufer IAM-Berechtigungen benötigt, um die Funktion aufzurufen, oder ob jeder sie einfach aufrufen kann:
Der Code wird im Ordner /workspace
mit denselben Dateinamen wie die Dateien in der Cloud-Funktion heruntergeladen und wird mit dem Benutzer www-data
ausgeführt.
Die Festplatte wird nicht als schreibgeschützt gemountet.
In der folgenden Seite können Sie überprüfen, wie man Cloud-Funktionsberechtigungen missbraucht, um Privilegien zu eskalieren:
GCP - Cloudfunctions PrivescLernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)