GCP - Cloud Scheduler Enum

Reading time: 3 minutes

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks

Grundinformationen

Google Cloud Scheduler ist ein vollständig verwalteter Cron-Job-Dienst, der es Ihnen ermöglicht, beliebige Jobs – wie Batch-, Big-Data-Jobs, Cloud-Infrastrukturoperationen – zu festen Zeiten, Daten oder Intervallen auszuführen. Er ist in Google Cloud-Dienste integriert und bietet eine Möglichkeit, verschiedene Aufgaben wie Updates oder Batch-Verarbeitung nach einem regelmäßigen Zeitplan zu automatisieren.

Obwohl dies aus offensiver Sicht erstaunlich klingt, ist es tatsächlich nicht so interessant, da der Dienst nur das Planen bestimmter einfacher Aktionen zu einem bestimmten Zeitpunkt und nicht die Ausführung beliebigen Codes ermöglicht.

Zum Zeitpunkt dieses Schreibens sind dies die Aktionen, die dieser Dienst planen kann:

  • HTTP: Senden Sie eine HTTP-Anfrage, die die Header und den Body der Anfrage definiert.
  • Pub/Sub: Senden Sie eine Nachricht in ein bestimmtes Thema.
  • App Engine HTTP: Senden Sie eine HTTP-Anfrage an eine in App Engine erstellte App.
  • Workflows: Rufen Sie einen GCP-Workflow auf.

Dienstkonten

Ein Dienstkonto ist nicht immer für jeden Scheduler erforderlich. Die Pub/Sub- und App Engine HTTP-Typen benötigen kein Dienstkonto. Der Workflow erfordert ein Dienstkonto, aber es wird nur der Workflow aufgerufen.
Schließlich benötigt der reguläre HTTP-Typ kein Dienstkonto, es ist jedoch möglich anzugeben, dass eine Art von Authentifizierung durch den Workflow erforderlich ist und entweder ein OAuth-Token oder ein OIDC-Token zur gesendeten HTTP-Anfrage hinzugefügt wird.

caution

Daher ist es möglich, das OIDC-Token zu stehlen und das OAuth-Token von Dienstkonten durch Missbrauch des HTTP-Typs auszunutzen. Mehr dazu auf der Seite zur Privilegieneskalation.

Beachten Sie, dass es möglich ist, den Geltungsbereich des gesendeten OAuth-Tokens einzuschränken, jedoch wird es standardmäßig cloud-platform sein.

Aufzählung

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

Privilegienerweiterung

GCP - Cloud Scheduler Privesc

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks