GCP - Cloud Scheduler Enum

Support HackTricks

Información Básica

Google Cloud Scheduler es un servicio de cron job completamente gestionado que te permite ejecutar trabajos arbitrarios, como trabajos por lotes, trabajos de big data, operaciones de infraestructura en la nube, en momentos, fechas o intervalos fijos. Está integrado con los servicios de Google Cloud, proporcionando una forma de automatizar varias tareas como actualizaciones o procesamiento por lotes en un horario regular.

Aunque desde un punto de vista ofensivo esto suena increíble, en realidad no es tan interesante porque el servicio solo permite programar ciertas acciones simples en un momento determinado y no ejecutar código arbitrario.

En el momento de escribir esto, estas son las acciones que este servicio permite programar:

  • HTTP: Enviar una solicitud HTTP definiendo los encabezados y el cuerpo de la solicitud.

  • Pub/Sub: Enviar un mensaje a un tema específico.

  • App Engine HTTP: Enviar una solicitud HTTP a una aplicación construida en App Engine.

  • Workflows: Llamar a un Workflow de GCP.

Cuentas de Servicio

No siempre se requiere una cuenta de servicio para cada programador. Los tipos Pub/Sub y App Engine HTTP no requieren ninguna cuenta de servicio. El Workflow sí requiere una cuenta de servicio, pero solo invocará el flujo de trabajo. Finalmente, el tipo HTTP regular no requiere una cuenta de servicio, pero es posible indicar que se requiere algún tipo de autenticación por el flujo de trabajo y agregar ya sea un token de OAuth o un token de OIDC a la solicitud HTTP enviada.

Por lo tanto, es posible robar el token OIDC y abusar del token OAuth de las cuentas de servicio abusando del tipo HTTP. Más sobre esto en la página de escalada de privilegios.

Ten en cuenta que es posible limitar el alcance del token de OAuth enviado, sin embargo, por defecto, será cloud-platform.

Enumeración

# Get schedulers in a location
gcloud scheduler jobs list --location us-central1

# Get information of an specific scheduler
gcloud scheduler jobs describe --location us-central1 <scheduler-name>

Escalación de Privilegios

GCP - Cloud Scheduler Privesc
Apoya a HackTricks

Last updated