GCP - Pub/Sub Enum

Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Pub/Sub

Google Cloud Pub/Sub es un servicio que permite a aplicaciones independientes enviar mensajes entre sí. Básicamente, existen temas a los cuales las aplicaciones pueden suscribirse para enviar y recibir mensajes (que están compuestos por el contenido del mensaje y algunos metadatos).

El tema es la cola donde 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(los) usuario(s) de esta suscripción necesita(n) solicitar los mensajes.

  • Push: Se indica un endpoint URL y los mensajes se enviarán inmediatamente a este.

  • Tabla de Big Query: Como push pero configurando los mensajes dentro de una tabla de Big Query.

  • Cloud Storage: Entrega mensajes directamente a un bucket existente.

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

Por defecto, un mensaje se conserva durante 7 días, pero este tiempo puede ser aumentado hasta 31 días. Además, si no se ACKed en 10s vuelve a la cola. También se puede configurar para que los mensajes ACKed continúen almacenándose.

Un tema está por defecto encriptado usando una clave de encriptación gestionada por Google. Pero también se puede seleccionar una CMEK (Clave de Encriptación Gestionada por el Cliente) de KMS.

Dead letter: Las suscripciones pueden configurar un número máximo de intentos de entrega. Cuando un mensaje no puede ser entregado, se republica en el tema de dead letter especificado.

Snapshots & Esquemas

Un snapshot es una característica que captura el estado de una suscripción en un punto específico en el tiempo. Es esencialmente una copia de seguridad consistente de los mensajes no reconocidos en una suscripción. Al crear un snapshot, preservas el estado de reconocimiento de mensajes de la suscripción, permitiéndote reanudar el consumo de mensajes desde el punto en que se tomó el snapshot, incluso después de que los mensajes originales hubieran sido eliminados de otra manera. Si tienes mucha suerte, un snapshot podría contener información sensible antigua de cuando se tomó el snapshot.

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, podrías obtener mejores resultados solicitando un conjunto de datos más amplio, incluyendo mensajes más antiguos. Esto tiene algunos prerrequisitos y podría impactar las aplicaciones, así que asegúrate de saber realmente lo que estás haciendo.

Escalada de Privilegios y Post Explotación

pageGCP - 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 para transmisión de alto volumen (hasta 10 millones de mensajes por segundo) en pipelines y sistemas impulsados por eventos donde el bajo costo es la consideración principal.

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

  • 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>
Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Última actualización