GCP - Pub/Sub Enum

HackTricksのサポート

Pub/Sub

Google Cloud Pub/Subは、独立したアプリケーション間でメッセージのやり取りを容易にするサービスとして説明されています。主要なコンポーネントには、アプリケーションが購読できるトピックが含まれます。購読されたアプリケーションは、メッセージの送受信が可能です。各メッセージには、実際のコンテンツと関連するメタデータが含まれています。

トピックはメッセージが送信されるキューであり、サブスクリプションユーザーがトピック内のメッセージにアクセスするために使用するオブジェクトです。1つのトピックに複数のサブスクリプションが存在し、4種類のサブスクリプションがあります:

  • Pull: このサブスクリプションのユーザーはメッセージを取得する必要があります。

  • Push: URLエンドポイントが指定され、メッセージは直ちに送信されます。

  • BigQueryテーブル: Pushと同様ですが、メッセージをBigQueryテーブルに設定します。

  • Cloud Storage: メッセージを既存のバケットに直接配信します。

デフォルトでは、サブスクリプションは31日後に期限切れになりますが、期限切れにならないように設定することもできます。

デフォルトでは、メッセージは7日間保持されますが、この時間を最大31日間まで延長することができます。また、10秒以内にACKされない場合、メッセージはキューに戻ります。ACKされたメッセージを引き続き保存するように設定することもできます。

トピックはデフォルトでGoogleが管理する暗号化キーを使用して暗号化されます。ただし、KMSからのCMEK(顧客管理型暗号化キー)も選択できます。

デッドレター: サブスクリプションは配信試行の最大回数を構成できます。メッセージが配信できない場合、指定されたデッドレタートピックに再公開されます。

スナップショットとスキーマ

スナップショットは、特定の時点でのサブスクリプションの状態をキャプチャする機能です。基本的には、サブスクリプション内の未確認メッセージの一貫したバックアップです。スナップショットを作成することで、サブスクリプションのメッセージ確認状態を保存し、元のメッセージが削除された後でも、スナップショットが取られた時点からメッセージの消費を再開できます。 非常に幸運な場合、スナップショットには古い機密情報が含まれている可能性があります。

トピックを作成する際、トピックメッセージがスキーマに従う必要があると指定できます。

列挙

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

しかし、より大きなデータセットを要求することで、古いメッセージを含めたより良い結果を得ることができます。これにはいくつかの前提条件があり、アプリケーションに影響を与える可能性があるため、本当に自分が何をしているのかをよく理解してください。

特権昇格とポストエクスプロイテーション

GCP - Pub/Sub Post Exploitation

Pub/Sub Lite

Pub/Sub Liteは、ゾナルストレージを備えたメッセージングサービスです。Pub/Sub LiteはPub/Subのほんの一部のコストで、高いボリュームのストリーミング(最大10百万メッセージ/秒)パイプラインや低コストが主要な考慮事項であるイベント駆動型システム向けに設計されています。

PubSub Liteにはトピックサブスクリプションがあり、スナップショットスキーマは存在せず、以下があります:

  • 予約: Pub/Sub Lite Reservationsは、ユーザーがメッセージストリームのために特定のリージョンで容量を予約する機能です。

  • 操作: 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