GCP - Pub/Sub Post Exploitation
Pub/Sub
Para mais informações sobre Pub/Sub, confira a seguinte página:
GCP - Pub/Sub Enumpubsub.topics.publish
pubsub.topics.publish
Publicar uma mensagem em um tópico, útil para enviar dados inesperados e acionar funcionalidades inesperadas ou explorar vulnerabilidades:
pubsub.topics.detachSubscription
pubsub.topics.detachSubscription
Útil para impedir que uma assinatura receba mensagens, talvez para evitar detecção.
pubsub.topics.delete
pubsub.topics.delete
Útil para impedir que uma assinatura receba mensagens, talvez para evitar detecção. É possível excluir um tópico mesmo com assinaturas anexadas a ele.
pubsub.topics.update
pubsub.topics.update
Use esta permissão para atualizar algumas configurações do tópico para interrompê-lo, como --clear-schema-settings
, --message-retention-duration
, --message-storage-policy-allowed-regions
, --schema
, --schema-project
, --topic-encryption-key
...
pubsub.topics.setIamPolicy
pubsub.topics.setIamPolicy
Dê a si mesmo permissão para realizar qualquer um dos ataques anteriores.
pubsub.subscriptions.create,
pubsub.topics.attachSubscription
, (pubsub.subscriptions.consume
)
pubsub.subscriptions.create,
pubsub.topics.attachSubscription
, (pubsub.subscriptions.consume
)Obtenha todas as mensagens em um servidor web:
Crie uma assinatura e use-a para puxar mensagens:
pubsub.subscriptions.delete
pubsub.subscriptions.delete
Excluir uma assinatura pode ser útil para interromper um sistema de processamento de logs ou algo similar:
pubsub.subscriptions.update
pubsub.subscriptions.update
Use esta permissão para atualizar alguma configuração para que as mensagens sejam armazenadas em um local que você possa acessar (URL, Big Query table, Bucket) ou apenas para interrompê-lo.
pubsub.subscriptions.setIamPolicy
pubsub.subscriptions.setIamPolicy
Conceda a si mesmo as permissões necessárias para realizar qualquer um dos ataques comentados anteriormente.
pubsub.schemas.attach
, pubsub.topics.update
,(pubsub.schemas.create
)
pubsub.schemas.attach
, pubsub.topics.update
,(pubsub.schemas.create
)Anexe um schema a um tópico para que as mensagens não o cumpram e, portanto, o tópico seja interrompido. Se não houver nenhum schema, você pode precisar criar um.
pubsub.schemas.delete
pubsub.schemas.delete
Isso pode parecer que ao deletar um schema você será capaz de enviar mensagens que não cumprem com o schema. No entanto, como o schema será deletado, nenhuma mensagem entrará de fato no tópico. Então isso é INÚTIL:
pubsub.schemas.setIamPolicy
pubsub.schemas.setIamPolicy
Conceda a si mesmo as permissões necessárias para realizar qualquer um dos ataques comentados anteriormente.
pubsub.snapshots.create
, pubsub.snapshots.seek
pubsub.snapshots.create
, pubsub.snapshots.seek
Isso criará um snapshot de todas as mensagens não confirmadas e as colocará de volta na assinatura. Não é muito útil para um atacante, mas aqui está:
Last updated