GCP - Cloud Scheduler Enum

Support HackTricks

基本信息

Google Cloud Scheduler 是一个完全托管的 cron 作业服务,允许您在固定的时间、日期或间隔运行任意作业——例如批处理、大数据作业、云基础设施操作。它与 Google Cloud 服务集成,提供了一种 定期自动化各种任务,如更新或批处理 的方式。

尽管从攻击的角度来看,这听起来很棒,但实际上并没有那么有趣,因为该服务仅允许在特定时间安排某些简单操作,而不是执行任意代码。

在撰写本文时,该服务允许安排的操作如下:

  • HTTP:发送一个 HTTP 请求,定义请求的头和主体。

  • Pub/Sub:向特定主题发送消息

  • App Engine HTTP:向在 App Engine 中构建的应用发送 HTTP 请求

  • Workflows:调用 GCP 工作流。

服务账户

并非每个调度程序都始终需要服务账户。Pub/SubApp Engine HTTP 类型不需要任何服务账户。Workflow 确实需要服务账户,但它只会调用工作流。 最后,常规的 HTTP 类型不需要服务账户,但可以指示工作流需要某种身份验证,并将 OAuth 令牌或 OIDC 令牌添加到发送的 HTTP 请求中。

因此,可以通过 滥用 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