GCP - Pub/Sub Enum

Support HackTricks

Pub/Sub

Google Cloud Pub/Sub jest opisywana jako usługa ułatwiająca wymianę wiadomości między niezależnymi aplikacjami. Główne komponenty to tematy, do których aplikacje mogą się 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 subskrypcje to obiekty, które użytkownicy będą używać do uzyskiwania dostępu do wiadomości w tematach. Może być więcej niż 1 subskrypcja na temat i istnieją 4 typy subskrypcji:

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

  • Push: Wskazany jest punkt końcowy URL, a wiadomości będą wysyłane natychmiast do niego.

  • Big query table: Jak push, ale umieszczając wiadomości w tabeli Big query.

  • Cloud Storage: Dostarczanie wiadomości bezpośrednio do istniejącego koszyka.

Domyślnie subskrypcja wygasa po 31 dniach, chociaż można ustawić, aby nigdy nie wygasała.

Domyślnie wiadomość jest przechowywana przez 7 dni, ale ten czas można wydłużyć do 31 dni. Ponadto, jeśli nie jest ACKed w 10s, wraca do kolejki. Można również ustawić, że ACKed wiadomości powinny być nadal przechowywane.

Temat jest domyślnie szyfrowany za pomocą klucza szyfrowania zarządzanego przez Google. Można również wybrać CMEK (Klucz szyfrowania zarządzany przez klienta) z KMS.

Dead letter: Subskrypcje mogą konfigurować maksymalną liczbę prób dostarczenia. Gdy wiadomość nie może być dostarczona, jest ponownie publikowana w określonym temacie dead letter.

Snapshots & Schemas

Snapshot to funkcja, która zapisuje stan subskrypcji w określonym momencie. Jest to zasadniczo spójna kopie zapasowa niepotwierdzonych wiadomości w subskrypcji. Tworząc snapshot, zachowujesz stan potwierdzenia wiadomości subskrypcji, co pozwala na wznowienie konsumpcji wiadomości od momentu, w którym snapshot został wykonany, nawet po tym, jak oryginalne wiadomości zostałyby w przeciwnym razie usunięte. Jeśli masz dużo szczęścia, snapshot może zawierać stare wrażliwe informacje z momentu, w którym został wykonany.

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

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>

Jednak możesz uzyskać lepsze wyniki prosząc o większy zestaw danych, w tym starsze wiadomości. Ma to pewne wymagania wstępne i może wpłynąć na aplikacje, więc upewnij się, że naprawdę wiesz, co robisz.

Eskalacja Uprawnień i Po Eksploatacji

GCP - Pub/Sub Post Exploitation

Pub/Sub Lite

Pub/Sub Lite to usługa wiadomości z przechowywaniem strefowym. Pub/Sub Lite kosztuje ułamek ceny Pub/Sub i jest przeznaczona do strumieniowania o dużej objętości (do 10 milionów wiadomości na sekundę) oraz systemów opartych na zdarzeniach, gdzie niskie koszty są głównym czynnikiem.

W Pub/Sub Lite tematy i subskrypcje, nie ma migawków i schematów, a są:

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

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

Enumeracja

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

Last updated