GCP - Cloud Scheduler Enum

Support 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トークンを追加することが可能です。

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

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

列挙

# 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
HackTricksをサポートする

Last updated