GCP - Pub/Sub Enum

Sostieni HackTricks

Pub/Sub

Google Cloud Pub/Sub è descritto come un servizio che facilita lo scambio di messaggi tra applicazioni indipendenti. I componenti principali includono argomenti, ai quali le applicazioni possono sottoscriversi. Le applicazioni sottoscritte hanno la capacità di inviare e ricevere messaggi. Ogni messaggio comprende il contenuto effettivo insieme ai metadati associati.

L'argomento è la coda dove i messaggi verranno inviati, mentre le sottoscrizioni sono gli oggetti che gli utenti utilizzeranno per accedere ai messaggi negli argomenti. Può esserci più di 1 sottoscrizione per argomento e ci sono 4 tipi di sottoscrizioni:

  • Pull: L'utente/i di questa sottoscrizione deve tirare per i messaggi.

  • Push: Viene indicato un endpoint URL e i messaggi verranno inviati immediatamente ad esso.

  • Tabella di BigQuery: Come push ma impostando i messaggi all'interno di una tabella di BigQuery.

  • Cloud Storage: Consegna i messaggi direttamente in un bucket esistente.

Per default una sottoscrizione scade dopo 31 giorni, anche se può essere impostata per non scadere mai.

Per default, un messaggio viene conservato per 7 giorni, ma questo tempo può essere aumentato fino a 31 giorni. Inoltre, se non viene ACKed in 10 secondi torna alla coda. È anche possibile impostare che i messaggi ACKed continuino a essere memorizzati.

Di default, un argomento è crittografato utilizzando una chiave di crittografia gestita da Google. Ma può anche essere selezionata una CMEK (Chiave di crittografia gestita dal cliente) da KMS.

Dead letter: Le sottoscrizioni possono configurare un numero massimo di tentativi di consegna. Quando un messaggio non può essere consegnato, viene ripubblicato nell'argomento della dead letter specificato.

Snapshot e Schemi

Uno snapshot è una funzionalità che cattura lo stato di una sottoscrizione in un momento specifico. È essenzialmente un backup consistente dei messaggi non riconosciuti in una sottoscrizione. Creando uno snapshot, si preserva lo stato di riconoscimento dei messaggi della sottoscrizione, consentendo di riprendere il consumo di messaggi dal punto in cui è stato preso lo snapshot, anche dopo che i messaggi originali sarebbero stati altrimenti eliminati. Se sei molto fortunato uno snapshot potrebbe contenere informazioni sensibili datate dal momento in cui è stato preso lo snapshot.

Quando si crea un argomento, è possibile indicare che i messaggi dell'argomento devono seguire uno schema.

Enumerazione

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

Tuttavia, potresti ottenere risultati migliori chiedendo un set di dati più ampio, inclusi messaggi più vecchi. Ciò ha alcuni prerequisiti e potrebbe influenzare le applicazioni, quindi assicurati di sapere esattamente cosa stai facendo.

Escalation dei Privilegi e Post Sfruttamento

GCP - Pub/Sub Post Exploitation

Pub/Sub Lite

Pub/Sub Lite è un servizio di messaggistica con archiviazione zonale. Pub/Sub Lite costa una frazione di Pub/Sub ed è pensato per flussi ad alto volume (fino a 10 milioni di messaggi al secondo) e sistemi basati su eventi in cui il costo ridotto è la considerazione principale.

In PubSub Lite ci sono argomenti e iscrizioni, non ci sono istantanee e schemi e ci sono:

  • Prenotazioni: Le Prenotazioni di Pub/Sub Lite sono una funzionalità che consente agli utenti di riservare capacità in una regione specifica per i loro flussi di messaggi.

  • Operazioni: Si riferisce alle azioni e ai compiti coinvolti nella gestione e nell'amministrazione di Pub/Sub Lite.

Enumerazione

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

Last updated