GCP - Pub/Sub Post Exploitation
Pub/Sub
Aby uzyskać więcej informacji na temat Pub/Sub, sprawdź następującą stronę:
pageGCP - Pub/Sub Enumpubsub.topics.publish
pubsub.topics.publish
Opublikuj wiadomość w temacie, przydatne do wysyłania nieoczekiwanych danych i wywoływania nieoczekiwanych funkcjonalności lub wykorzystywania podatności:
pubsub.topics.detachSubscription
pubsub.topics.detachSubscription
Przydatne do zapobiegania otrzymywaniu wiadomości przez subskrypcję, być może w celu uniknięcia wykrycia.
pubsub.topics.delete
pubsub.topics.delete
Przydatne do zapobiegania otrzymywaniu wiadomości przez subskrypcję, być może w celu uniknięcia wykrycia. Możliwe jest usunięcie tematu nawet wtedy, gdy do niego są dołączone subskrypcje.
pubsub.topics.update
pubsub.topics.update
Użyj tej uprawnienia do aktualizacji ustawień tematu w celu zakłócenia go, takich jak --clear-schema-settings
, --message-retention-duration
, --message-storage-policy-allowed-regions
, --schema
, --schema-project
, --topic-encryption-key
...
pubsub.topics.setIamPolicy
pubsub.topics.setIamPolicy
Nadaj sobie uprawnienie do wykonania dowolnego z poprzednich ataków.
pubsub.subscriptions.create,
pubsub.topics.attachSubscription
, (pubsub.subscriptions.consume
)
pubsub.subscriptions.create,
pubsub.topics.attachSubscription
, (pubsub.subscriptions.consume
)Pobierz wszystkie wiadomości na serwerze sieciowym:
Utwórz subskrypcję i użyj jej do pobierania wiadomości:
pubsub.subscriptions.delete
pubsub.subscriptions.delete
Usuń subskrypcję może być przydatne do zakłócenia systemu przetwarzania logów lub czegoś podobnego:
pubsub.subscriptions.update
pubsub.subscriptions.update
Użyj tej uprawnienia do aktualizacji ustawień, aby wiadomości były przechowywane w miejscu, do którego masz dostęp (URL, tabela Big Query, kubełek) lub po prostu, aby je zakłócić.
pubsub.subscriptions.setIamPolicy
pubsub.subscriptions.setIamPolicy
Przyznaj sobie uprawnienia potrzebne do wykonania dowolnego z wcześniej skomentowanych ataków.
pubsub.schemas.delete
pubsub.schemas.delete
Usuń schemat, aby móc wysyłać wiadomości, które nie spełniają wymagań schematu:
pubsub.schemas.attach
, pubsub.topics.update
,(pubsub.schemas.create
)
pubsub.schemas.attach
, pubsub.topics.update
,(pubsub.schemas.create
)Zaatakuj schemat do tematu, aby wiadomości go nie spełniały i tym samym zakłócić temat. Jeśli nie ma żadnych schematów, możesz musieć utworzyć jeden.
```bash # Attach new schema gcloud pubsub topics update projects//topics/ \ --schema=projects//schemas/ \ --message-encoding=json ``` ### `pubsub.schemas.setIamPolicy`
Przyznaj sobie uprawnienia potrzebne do wykonania dowolnych wcześniej skomentowanych ataków.
pubsub.snapshots.create
, pubsub.snapshots.seek
pubsub.snapshots.create
, pubsub.snapshots.seek
To spowoduje utworzenie migawki wszystkich niepotwierdzonych wiadomości i ich ponowne umieszczenie w subskrypcji. Niezbyt przydatne dla atakującego, ale tutaj jest:
Last updated