GCP - Pub/Sub Enum

Aprenda hacking no AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras formas de apoiar o HackTricks:

Pub/Sub

O Cloud Pub/Sub do Google é um serviço que permite que aplicações independentes enviem mensagens entre si. Basicamente, existem tópicos onde as aplicações podem se inscrever para enviar e receber mensagens (que são compostas pelo conteúdo da mensagem e alguns metadados).

O tópico é a fila onde as mensagens serão enviadas, enquanto as inscrições são os objetos que os usuários vão usar para acessar mensagens nos tópicos. Pode haver mais de 1 inscrição por tópico e existem 4 tipos de inscrições:

  • Pull: O(s) usuário(s) desta inscrição precisa(m) puxar as mensagens.

  • Push: Um endpoint de URL é indicado e as mensagens serão enviadas imediatamente para ele.

  • Tabela Big Query: Como push, mas configurando as mensagens dentro de uma tabela Big Query.

  • Cloud Storage: Entrega mensagens diretamente para um bucket existente.

Por padrão, uma inscrição expira após 31 dias, embora possa ser configurada para nunca expirar.

Por padrão, uma mensagem é retida por 7 dias, mas esse tempo pode ser aumentado para até 31 dias. Além disso, se não for ACKed em 10s, ela volta para a fila. Também pode ser configurado para que mensagens ACKed continuem armazenadas.

Um tópico é por padrão criptografado usando uma chave de criptografia gerenciada pelo Google. Mas também pode ser selecionada uma CMEK (Chave de Criptografia Gerenciada pelo Cliente) do KMS.

Dead letter: Inscrições podem configurar um número máximo de tentativas de entrega. Quando uma mensagem não pode ser entregue, ela é republicada no tópico de dead letter especificado.

Snapshots & Esquemas

Um snapshot é um recurso que captura o estado de uma inscrição em um ponto específico no tempo. É essencialmente um backup consistente das mensagens não reconhecidas em uma inscrição. Ao criar um snapshot, você preserva o estado de reconhecimento de mensagem da inscrição, permitindo que você retome o consumo de mensagens a partir do ponto em que o snapshot foi tirado, mesmo depois que as mensagens originais teriam sido de outra forma excluídas. Se você tiver muita sorte, um snapshot pode conter informações sensíveis antigas de quando foi tirado.

Ao criar um tópico, você pode indicar que as mensagens do tópico devem seguir um esquema.

Enumeração

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

No entanto, você pode obter melhores resultados solicitando um conjunto maior de dados, incluindo mensagens mais antigas. Isso tem alguns pré-requisitos e pode impactar aplicações, então certifique-se de realmente saber o que está fazendo.

Escalonamento de Privilégios & Pós-Exploração

pageGCP - Pub/Sub Post Exploitation

Pub/Sub Lite

Pub/Sub Lite é um serviço de mensagens com armazenamento zonal. Pub/Sub Lite custa uma fração do Pub/Sub e é destinado para streaming de alto volume (até 10 milhões de mensagens por segundo) em pipelines e sistemas orientados a eventos onde o baixo custo é a consideração principal.

No PubSub Lite existem tópicos e assinaturas, não existem snapshots e esquemas e há:

  • Reservas: Reservas do Pub/Sub Lite é um recurso que permite aos usuários reservar capacidade em uma região específica para seus fluxos de mensagens.

  • Operações: Refere-se às ações e tarefas envolvidas na gestão e administração do Pub/Sub Lite.

Enumeração

# 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>
Aprenda hacking no AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras formas de apoiar o HackTricks:

Última actualización