GCP - Enum Pub/Sub

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks

Pub/Sub

Google Cloud Pub/Sub est dĂ©crit comme un service facilitant l’échange de messages entre des applications indĂ©pendantes. Les composants principaux incluent des sujets, auxquels les applications peuvent s’abonner. Les applications abonnĂ©es ont la capacitĂ© de envoyer et recevoir des messages. Chaque message comprend le contenu rĂ©el ainsi que les mĂ©tadonnĂ©es associĂ©es.

Le sujet est la file d’attente oĂč les messages vont ĂȘtre envoyĂ©s, tandis que les abonnements sont les objets que les utilisateurs vont utiliser pour accĂ©der aux messages dans les sujets. Il peut y avoir plus de 1 abonnement par sujet et il existe 4 types d’abonnements :

  • Pull : L’utilisateur(s) de cet abonnement doit tirer les messages.
  • Push : Un point de terminaison URL est indiquĂ© et les messages seront envoyĂ©s immĂ©diatement Ă  celui-ci.
  • Table Big Query : Comme push mais en plaçant les messages dans une table Big Query.
  • Cloud Storage : Livrer des messages directement Ă  un bucket existant.

Par dĂ©faut, un abonnement expire aprĂšs 31 jours, bien qu’il puisse ĂȘtre configurĂ© pour ne jamais expirer.

Par dĂ©faut, un message est conservĂ© pendant 7 jours, mais ce dĂ©lai peut ĂȘtre augmentĂ© jusqu’à 31 jours. De plus, s’il n’est pas ACKĂ© en 10s, il retourne dans la file d’attente. Il peut Ă©galement ĂȘtre configurĂ© pour que les messages ACKĂ©s continuent d’ĂȘtre stockĂ©s.

Un sujet est par dĂ©faut cryptĂ© Ă  l’aide d’une clĂ© de cryptage gĂ©rĂ©e par Google. Mais une CMEK (Customer Managed Encryption Key) de KMS peut Ă©galement ĂȘtre sĂ©lectionnĂ©e.

Lettre morte : Les abonnements peuvent configurer un nombre maximum de tentatives de livraison. Lorsqu’un message ne peut pas ĂȘtre livrĂ©, il est republiĂ© dans le sujet de lettre morte spĂ©cifiĂ©.

Instantanés & Schémas

Un instantanĂ© est une fonctionnalitĂ© qui capture l’état d’un abonnement Ă  un moment prĂ©cis. C’est essentiellement une sauvegarde cohĂ©rente des messages non reconnus dans un abonnement. En crĂ©ant un instantanĂ©, vous prĂ©servez l’état de reconnaissance des messages de l’abonnement, vous permettant de reprendre la consommation des messages Ă  partir du point oĂč l’instantanĂ© a Ă©tĂ© pris, mĂȘme aprĂšs que les messages originaux auraient autrement Ă©tĂ© supprimĂ©s.
Si vous avez beaucoup de chance, un instantanĂ© pourrait contenir des informations sensibles anciennes depuis le moment oĂč l’instantanĂ© a Ă©tĂ© pris.

Lors de la crĂ©ation d’un sujet, vous pouvez indiquer que les messages du sujet doivent suivre un schĂ©ma.

ÉnumĂ©ration

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

Cependant, vous pourriez obtenir de meilleurs résultats en demandant un ensemble de données plus large, y compris des messages plus anciens. Cela a quelques prérequis et pourrait impacter les applications, alors assurez-vous de bien savoir ce que vous faites.

Escalade de privilĂšges & Post exploitation

GCP - Pub/Sub Post Exploitation

Pub/Sub Lite

Pub/Sub Lite est un service de messagerie avec stockage zonal. Pub/Sub Lite coĂ»te une fraction de Pub/Sub et est destinĂ© Ă  des pipelines de streaming Ă  haut volume (jusqu’à 10 millions de messages par seconde) et Ă  des systĂšmes dĂ©clenchĂ©s par des Ă©vĂ©nements oĂč le coĂ»t bas est la considĂ©ration principale.

Dans PubSub Lite, il y a des sujets et des abonnements, il n’y a pas de snapshots et schĂ©mas et il y a :

  • RĂ©servations : Les rĂ©servations Pub/Sub Lite sont une fonctionnalitĂ© qui permet aux utilisateurs de rĂ©server de la capacitĂ© dans une rĂ©gion spĂ©cifique pour leurs flux de messages.
  • OpĂ©rations : Fait rĂ©fĂ©rence aux actions et tĂąches impliquĂ©es dans la gestion et l’administration de Pub/Sub Lite.

ÉnumĂ©ration

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

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks