GCP - Enum Pub/Sub
Reading time: 5 minutes
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.
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 et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.