GCP - Cloudfunctions Privesc

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

Andere Möglichkeiten, HackTricks zu unterstützen:

cloudfunctions

Weitere Informationen zu Cloud Functions:

pageGCP - Cloud Functions Enum

cloudfunctions.functions.create, cloudfunctions.functions.sourceCodeSet, iam.serviceAccounts.actAs

Ein Angreifer mit diesen Berechtigungen kann eine neue Cloud Function mit beliebigem (bösartigem) Code erstellen und ihr ein Servicekonto zuweisen. Anschließend kann das Servicekonto-Token aus den Metadaten geleakt werden, um die Berechtigungen darauf zu eskalieren. Einige Berechtigungen zum Auslösen der Funktion können erforderlich sein.

Exploit-Skripte für diese Methode finden Sie hier und hier und die vorab erstellte .zip-Datei finden Sie hier.

cloudfunctions.functions.update, cloudfunctions.functions.sourceCodeSet, iam.serviceAccounts.actAs

Ein Angreifer mit diesen Berechtigungen kann den Code einer Funktion ändern und sogar das angehängte Servicekonto ändern, um das Token zu exfiltrieren. Einige Berechtigungen zum Auslösen der Funktion können erforderlich sein.

Das Exploit-Skript für diese Methode finden Sie hier.

cloudfunctions.functions.sourceCodeSet

Mit dieser Berechtigung können Sie eine signierte URL erhalten, um eine Datei in einen Funktionsbucket hochzuladen (der Code der Funktion wird jedoch nicht geändert, Sie müssen ihn immer noch aktualisieren)

# Generate the URL
curl -X POST https://cloudfunctions.googleapis.com/v2/projects/{project-id}/locations/{location}/functions:generateUploadUrl \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json" \
-d '{}'

Nicht wirklich sicher, wie nützlich nur diese Berechtigung aus der Perspektive eines Angreifers ist, aber gut zu wissen.

cloudfunctions.functions.setIamPolicy, iam.serviceAccounts.actAs

Geben Sie sich eine der vorherigen .update oder .create Berechtigungen, um Berechtigungen zu eskalieren.

cloudfunctions.functions.update

Nur mit cloudfunctions Berechtigungen, ohne iam.serviceAccounts.actAs, können Sie die Funktion NICHT AKTUALISIEREN, ALSO IST DIES KEINE GÜLTIGE PRIVILEGIENESKALATION.

Bucket-Schreibberechtigungen

Ein Angreifer mit Schreibberechtigungen über den Bucket, in dem der Code der Cloud Functions gespeichert ist, kann den Code überschreiben, indem er die function_code.zip ändert, und kann beliebigen Code ausführen, sobald er ausgeführt wird.

Referenzen

Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Last updated