GCP - Pub/Sub Enum

Dowiedz się, jak hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia 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 komponenty obejmują 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 wraz z powiązanymi metadanymi.

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 dostępu do wiadomości w tematach. Może istnieć więcej niż 1 subskrypcja na temat, a istnieją 4 rodzaje subskrypcji:

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

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

  • Tabela BigQuery: Podobnie jak push, ale wiadomości są umieszczane w tabeli BigQuery.

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

Domyślnie subskrypcja wygasa po 31 dniach, chociaż można ją ustawić na nieskończoność.

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

Domyślnie temat jest szyfrowany za pomocą zarządzanego przez Google klucza szyfrowania. Można jednak również wybrać CMEK (Customer Managed Encryption Key) z KMS.

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

Snapshoty i schematy

Snapshot 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 snapshot, zachowujesz stan potwierdzenia wiadomości subskrypcji, co pozwala na wznowienie konsumpcji wiadomości od momentu utworzenia snapshotu, nawet po usunięciu oryginalnych wiadomości. Jeśli masz dużo szczęścia, snapshot może zawierać stare poufne informacje z chwili utworzenia snapshotu.

Podczas tworzenia tematu można wskazać, że wiadomości tematu muszą być zgodne ze schematem.

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 i może wpływać na aplikacje, więc upewnij się, że naprawdę wiesz, co robisz.

Eskalacja uprawnień i wykorzystanie po włamaniu

pageGCP - Pub/Sub Post Exploitation

Pub/Sub Lite

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

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

  • Rezerwacje: Rezerwacje Pub/Sub Lite to funkcja, która umożliwia użytkownikom rezerwację pojemności w określonym regionie dla ich 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>
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Last updated