GCP - Pub/Sub Enum

Support HackTricks

Pub/Sub

Google Cloud Pub/Sub 被描述为一个促进独立应用程序之间消息交换的服务。核心组件包括 主题,应用程序可以 订阅。已订阅的应用程序能够 发送和接收消息。每条消息包含实际内容和相关的元数据。

主题是消息将要发送的队列,而 订阅 是用户将用来 访问主题中的消息的对象。每个主题可以有多个 订阅,并且有 4 种类型的订阅:

  • 拉取:此订阅的用户需要主动拉取消息。

  • 推送:指定一个 URL 端点,消息将立即发送到该端点。

  • 大查询表:类似于推送,但将消息放入大查询表中。

  • 云存储:直接将消息传递到现有的存储桶中。

默认情况下,订阅在 31 天后过期,尽管可以设置为永不过期。

默认情况下,消息会保留 7 天,但此时间可以 延长至 31 天。此外,如果在 10 秒内未 确认(ACK),则消息将返回队列。也可以设置已确认的消息继续存储。

主题默认使用 Google 管理的加密密钥 进行加密。但也可以选择来自 KMS 的 CMEK(客户管理的加密密钥)。

死信:订阅可以配置 最大交付尝试次数。当消息无法送达时,它会被 重新发布到指定的死信主题

快照与模式

快照是一个功能,捕获订阅在特定时间点的状态。它本质上是 未确认消息在订阅中的一致备份。通过创建快照,您可以保留订阅的消息确认状态,允许您从快照创建时的点恢复消息消费,即使原始消息在此之后会被删除。 如果您非常幸运,快照可能包含 快照创建时的旧敏感信息

创建主题时,您可以指示 主题消息必须遵循一个模式

Enumeration

# Get a list of topics in the project
gcloud pubsub topics list
gcloud pubsub topics describe <topic>
gcloud pubsub topics list-subscriptions <topic>
gcloud pubsub topics get-iam-policy <topic>

# Get a list of subscriptions across all topics
gcloud pubsub subscriptions list
gcloud pubsub subscriptions describe <subscription>
gcloud pubsub subscriptions get-iam-policy <subscription>

# Get list of schemas
gcloud pubsub schemas list
gcloud pubsub schemas describe <schema>
gcloud pubsub schemas list-revisions <schema>

# Get list of snapshots
gcloud pubsub snapshots list
gcloud pubsub snapshots describe <snapshot>

然而,您可能会获得更好的结果 请求更大数据集,包括较旧的消息。这有一些前提条件,并可能影响应用程序,因此请确保您确实知道自己在做什么。

权限提升与后期利用

Pub/Sub Lite

Pub/Sub Lite 是一种具有 区域存储 的消息服务。Pub/Sub Lite 成本仅为 Pub/Sub 的一小部分,旨在用于 高容量流(每秒高达 1000 万条消息)管道和以事件驱动的系统,其中低成本是主要考虑因素。

在 PubSub Lite 中 主题订阅没有 快照 和 模式,并且有:

  • 保留:Pub/Sub Lite 保留是一项功能,允许用户在特定区域为其消息流保留容量。

  • 操作:指管理和管理 Pub/Sub Lite 相关的操作和任务。

枚举

# lite-topics
gcloud pubsub lite-topics list
gcloud pubsub lite-topics describe <topic>
gcloud pubsub lite-topics list-subscriptions <topic>

# lite-subscriptions
gcloud pubsub lite-subscriptions list
gcloud pubsub lite-subscriptions describe <subscription>

# lite-reservations
gcloud pubsub lite-reservations list
gcloud pubsub lite-reservations describe <topic>
gcloud pubsub lite-reservations list-topics <topic>

# lite-operations
gcloud pubsub lite-operations list
gcloud pubsub lite-operations describe <topic>
支持 HackTricks

Last updated