GCP - Pub/Sub Enum

Wesprzyj HackTricks

Pub/Sub

Google Cloud Pub/Sub jest opisany jako usługa ułatwiająca wymianę wiadomości między niezależnymi aplikacjami. Główne składniki obejmują tematy, do których aplikacje mogą subskrybować. Subskrybowane aplikacje mają możliwość wysyłania i odbierania wiadomości. Każda wiadomość składa się z rzeczywistej treści oraz powiązanych metadanych.

Temat to kolejka, do której będą wysyłane wiadomości, podczas gdy subskrypcjeobiektami, których użytkownicy będą używać do dostępu do wiadomości w tematach. Może być więcej niż 1 subskrypcja na temat, a istnieją 4 rodzaje subskrypcji:

  • Pull: Użytkownik(i) tej subskrypcji muszą pobrać wiadomości.

  • Push: Wskazany jest adres URL punktu końcowego, a wiadomości zostaną natychmiast wysłane na niego.

  • Tabela BigQuery: Podobnie jak push, ale ustawia wiadomości w tabeli BigQuery.

  • Cloud Storage: Dostarcza wiadomości bezpośrednio do istniejącego kubełka.

Domyślnie subskrypcja wygasa po 31 dniach, chociaż można ustawić ją na nigdy nie wygasającą.

Domyślnie wiadomość jest przechowywana przez 7 dni, ale ten czas można zwiększyć do 31 dni. Ponadto, jeśli nie zostanie potwierdzona w ciągu 10 sekund, wraca do kolejki. Można także ustawić, że potwierdzone wiadomości powinny nadal być przechowywane.

Temat jest domyślnie szyfrowany za pomocą zarządzanego przez Google klucza szyfrowania. Ale można także wybrać CMEK (Klucz Szyfrowania Zarządzany przez Klienta) z KMS.

Skrzynka na martwe listy: Subskrypcje mogą skonfigurować maksymalną liczbę prób dostarczenia. Gdy wiadomość nie może zostać dostarczona, jest ponownie publikowana do określonego tematu skrzynki na martwe listy.

Zrzuty i Schematy

Zrzut to funkcja, która przechwytuje stan subskrypcji w określonym momencie. Jest to w zasadzie spójna kopia niepotwierdzonych wiadomości w subskrypcji. Tworząc zrzut, zachowujesz stan potwierdzenia wiadomości subskrypcji, pozwalając na wznowienie konsumpcji wiadomości od momentu utworzenia zrzutu, nawet po usunięciu oryginalnych wiadomości. Jeśli masz szczęście, zrzut może zawierać stare wrażliwe informacje z chwili utworzenia zrzutu.

Podczas tworzenia tematu, można wskazać, że wiadomości tematu muszą przestrzegać schematu.

Wyliczanie

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

Jednakże możesz uzyskać lepsze wyniki prosząc o większy zestaw danych, w tym starsze wiadomości. Wymaga to spełnienia pewnych warunków wstępnych i może wpłynąć na aplikacje, dlatego upewnij się, że naprawdę wiesz, co robisz.

Eskalacja uprawnień i eksploatacja po włamaniu

GCP - Pub/Sub Post Exploitation

Pub/Sub Lite

Pub/Sub Lite to usługa przekazywania wiadomości z przechowywaniem strefowym. Pub/Sub Lite kosztuje ułamek ceny Pub/Sub i jest przeznaczony do strumieniowania o dużej przepustowości (do 10 milionów wiadomości na sekundę) oraz systemów zdarzeniowych, gdzie głównym kryterium jest niski koszt.

W PubSub Lite istnieją tematy i subskrypcje, nie ma migawek ani schematów, a także:

  • Rezerwacje: Rezerwacje Pub/Sub Lite to funkcja, która pozwala użytkownikom zarezerwować pojemność w określonym regionie dla swoich strumieni wiadomości.

  • Operacje: Odnosi się do działań i zadań związanych z zarządzaniem i administrowaniem Pub/Sub Lite.

Wyliczanie

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

Last updated