GCP - Pub/Sub Enum

Apoya a HackTricks

Pub/Sub

Google Cloud Pub/Sub se describe como un servicio que facilita el intercambio de mensajes entre aplicaciones independientes. Los componentes principales incluyen temas, a los cuales las aplicaciones pueden suscribirse. Las aplicaciones suscritas tienen la capacidad de enviar y recibir mensajes. Cada mensaje consta del contenido real junto con metadatos asociados.

El tema es la cola a la que se enviarán los mensajes, mientras que las suscripciones son los objetos que los usuarios utilizarán para acceder a los mensajes en los temas. Puede haber más de 1 suscripción por tema y existen 4 tipos de suscripciones:

  • Pull: El usuario(s) de esta suscripción necesita hacer pull para obtener mensajes.

  • Push: Se indica un punto final de URL y los mensajes se enviarán inmediatamente a él.

  • Tabla de BigQuery: Similar a push pero configurando los mensajes dentro de una tabla de BigQuery.

  • Almacenamiento en la nube: Entrega mensajes directamente a un bucket existente.

Por defecto, una suscripción caduca después de 31 días, aunque se puede configurar para que nunca caduque.

Por defecto, un mensaje se retiene durante 7 días, pero este tiempo se puede aumentar hasta 31 días. Además, si no se ACKea en 10 segundos, vuelve a la cola. También se puede configurar que los mensajes ACKeados continúen almacenados.

Un tema está cifrado por defecto utilizando una clave de cifrado gestionada por Google. Pero también se puede seleccionar una CMEK (Clave de Cifrado Gestionada por el Cliente) de KMS.

Buzón de correo: Las suscripciones pueden configurar un número máximo de intentos de entrega. Cuando un mensaje no se puede entregar, se republica en el tema de buzón de correo especificado.

Instantáneas y Esquemas

Una instantánea es una característica que captura el estado de una suscripción en un momento específico. Esencialmente, es una copia de seguridad consistente de los mensajes no reconocidos en una suscripción. Al crear una instantánea, se preserva el estado de reconocimiento de mensajes de la suscripción, lo que te permite reanudar el consumo de mensajes desde el punto en que se tomó la instantánea, incluso después de que los mensajes originales se hubieran eliminado de otra manera. Si tienes mucha suerte, una instantánea podría contener información sensible antigua desde el momento en que se tomó la instantánea.

Al crear un tema, puedes indicar que los mensajes del tema deben seguir un esquema.

Enumeración

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

Sin embargo, es posible que obtengas mejores resultados pidiendo un conjunto de datos más grande, incluyendo mensajes antiguos. Esto tiene algunos requisitos previos y podría afectar a las aplicaciones, así que asegúrate de saber realmente lo que estás haciendo.

Escalada de privilegios y Post Explotación

GCP - Pub/Sub Post Exploitation

Pub/Sub Lite

Pub/Sub Lite es un servicio de mensajería con almacenamiento zonal. Pub/Sub Lite cuesta una fracción de Pub/Sub y está destinado a transmisiones de alto volumen (hasta 10 millones de mensajes por segundo) y sistemas basados en eventos donde el bajo costo es la consideración principal.

En PubSub Lite hay temas y suscripciones, no hay instantáneas ni esquemas, y existen:

  • Reservas: Las Reservas de Pub/Sub Lite es una característica que permite a los usuarios reservar capacidad en una región específica para sus flujos de mensajes.

  • Operaciones: Se refiere a las acciones y tareas involucradas en la gestión y administración de Pub/Sub Lite.

Enumeración

# 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>
Apoya a HackTricks

Last updated