GCP - Cloud Scheduler Enum

Support HackTricks

Basic Information

Google Cloud Scheduler est un service de cron job entièrement géré qui vous permet d'exécuter des tâches arbitraires—comme des tâches par lots, des tâches de big data, des opérations d'infrastructure cloud—à des moments, dates ou intervalles fixes. Il est intégré aux services Google Cloud, offrant un moyen d'automatiser diverses tâches comme des mises à jour ou un traitement par lots sur un calendrier régulier.

Bien que cela semble incroyable d'un point de vue offensif, ce n'est en réalité pas si intéressant car le service ne permet que de planifier certaines actions simples à un moment donné et non d'exécuter du code arbitraire.

Au moment de la rédaction, voici les actions que ce service permet de planifier :

  • HTTP : Envoyer une requête HTTP en définissant les en-têtes et le corps de la requête.

  • Pub/Sub : Envoyer un message dans un sujet spécifique.

  • App Engine HTTP : Envoyer une requête HTTP à une application construite dans App Engine.

  • Workflows : Appeler un Workflow GCP.

Service Accounts

Un compte de service n'est pas toujours requis par chaque planificateur. Les types Pub/Sub et App Engine HTTP ne nécessitent aucun compte de service. Le Workflow nécessite un compte de service, mais il invoquera simplement le workflow. Enfin, le type HTTP régulier ne nécessite pas de compte de service, mais il est possible d'indiquer qu'un certain type d'authentification est requis par le workflow et d'ajouter soit un jeton OAuth soit un jeton OIDC à la requête HTTP envoyée.

Par conséquent, il est possible de voler le jeton OIDC et d'abuser du jeton OAuth des comptes de service en abusant du type HTTP. Plus d'informations à ce sujet dans la page d'escalade de privilèges.

Notez qu'il est possible de limiter la portée du jeton OAuth envoyé, cependant, par défaut, il sera cloud-platform.

Enumeration

# 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>

Escalade de privilèges

GCP - Cloud Scheduler Privesc
Soutenir HackTricks

Last updated