GCP - Cloud Scheduler Enum

Reading time: 5 minutes

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする

基本情報

Google Cloud Schedulerは、任意のジョブ(バッチ、ビッグデータジョブ、クラウドインフラストラクチャ操作など)を固定の時間、日付、または間隔で実行できる完全に管理されたcronジョブサービスです。これはGoogle Cloudサービスと統合されており、定期的なスケジュールでの更新やバッチ処理など、さまざまなタスクを自動化する方法を提供します

攻撃的な観点から見るとこれは素晴らしいことのように思えますが、実際にはそれほど興味深いものではありません。なぜなら、このサービスは特定の時間に特定の単純なアクションをスケジュールすることしか許可せず、任意のコードを実行することはできないからです。

この執筆時点で、このサービスがスケジュールを許可するアクションは次のとおりです:

  • HTTP: リクエストのヘッダーとボディを定義してHTTPリクエストを送信します。
  • Pub/Sub: 特定のトピックにメッセージを送信します。
  • App Engine HTTP: App Engineで構築されたアプリにHTTPリクエストを送信します。
  • Workflows: GCP Workflowを呼び出します。

サービスアカウント

サービスアカウントは、各スケジューラによって常に必要なわけではありません。Pub/SubおよびApp Engine HTTPタイプは、サービスアカウントを必要としません。Workflowはサービスアカウントを必要としますが、単にワークフローを呼び出すだけです。
最後に、通常のHTTPタイプはサービスアカウントを必要としませんが、ワークフローによって何らかの認証が必要であることを示し、送信されるHTTPリクエストにOAuthトークンまたはOIDCトークンを追加することが可能です。

caution

したがって、HTTPタイプを悪用してサービスアカウントからOIDCトークンを盗んだり、OAuthトークンを悪用したりすることが可能です。特権昇格ページでの詳細。

OAuthトークンのスコープを制限することは可能ですが、デフォルトではcloud-platformになります。

列挙

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>

権限昇格

GCP - Cloud Scheduler Privesc

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする