GCP - Pub/Sub Post Exploitation
Pub/Sub
Pour plus d'informations sur Pub/Sub, consultez la page suivante :
pageGCP - Pub/Sub Enumpubsub.topics.publish
pubsub.topics.publish
Publie un message dans un sujet, utile pour envoyer des données inattendues et déclencher des fonctionnalités inattendues ou exploiter des vulnérabilités :
pubsub.topics.detachSubscription
pubsub.topics.detachSubscription
Utile pour empêcher une souscription de recevoir des messages, peut-être pour éviter la détection.
pubsub.topics.delete
pubsub.topics.delete
Utile pour empêcher une souscription de recevoir des messages, peut-être pour éviter la détection. Il est possible de supprimer un sujet même s'il a des souscriptions attachées.
pubsub.topics.update
pubsub.topics.update
Utilisez cette autorisation pour mettre à jour certains paramètres du sujet afin de le perturber, comme --clear-schema-settings
, --message-retention-duration
, --message-storage-policy-allowed-regions
, --schema
, --schema-project
, --topic-encryption-key
...
pubsub.topics.setIamPolicy
pubsub.topics.setIamPolicy
Donnez-vous la permission d'effectuer l'une des attaques précédentes.
pubsub.subscriptions.create,
pubsub.topics.attachSubscription
, (pubsub.subscriptions.consume
)
pubsub.subscriptions.create,
pubsub.topics.attachSubscription
, (pubsub.subscriptions.consume
)Obtenez tous les messages dans un serveur web :
Créez un abonnement et utilisez-le pour tirer les messages:
pubsub.subscriptions.delete
pubsub.subscriptions.delete
Supprimer un abonnement pourrait être utile pour perturber un système de traitement des journaux ou quelque chose de similaire :
pubsub.subscriptions.update
pubsub.subscriptions.update
Utilisez cette autorisation pour mettre à jour certains paramètres afin que les messages soient stockés dans un endroit auquel vous pouvez accéder (URL, table Big Query, Bucket) ou simplement pour les perturber.
pubsub.subscriptions.setIamPolicy
pubsub.subscriptions.setIamPolicy
Accordez-vous les autorisations nécessaires pour effectuer l'une des attaques précédemment commentées.
pubsub.schemas.delete
pubsub.schemas.delete
Supprimez un schéma pour pouvoir envoyer des messages qui ne respectent pas le schéma :
pubsub.schemas.attach
, pubsub.topics.update
,(pubsub.schemas.create
)
pubsub.schemas.attach
, pubsub.topics.update
,(pubsub.schemas.create
)Attachez un schéma à un sujet afin que les messages ne le remplissent pas et que le sujet soit perturbé. S'il n'y a pas de schémas, vous devrez peut-être en créer un.
```bash # Attach new schema gcloud pubsub topics update projects//topics/ \ --schema=projects//schemas/ \ --message-encoding=json ``` ### `pubsub.schemas.setIamPolicy`
Accordez-vous les autorisations nécessaires pour effectuer l'une des attaques précédemment commentées.
pubsub.snapshots.create
, pubsub.snapshots.seek
pubsub.snapshots.create
, pubsub.snapshots.seek
Cela créera un instantané de tous les messages non ACK et les remettra dans l'abonnement. Pas très utile pour un attaquant mais le voici :
Dernière mise à jour