GCP - Pub/Sub Enum

Підтримайте HackTricks

Pub/Sub

Google Cloud Pub/Sub описується як сервіс, який сприяє обміну повідомленнями між незалежними додатками. Основні компоненти включають теми, на які можуть підписуватися додатки. Підписані додатки мають можливість надсилати та отримувати повідомлення. Кожне повідомлення містить фактичний вміст разом з пов'язаною метаданими.

Тема - це черга, куди будуть надсилатися повідомлення, тоді як підписки - це об'єкти, які користувачі будуть використовувати для доступу до повідомлень у темах. Може бути більше 1 підписки на тему, і існують 4 типи підписок:

  • Витягнути: Користувач(і) цієї підписки повинні витягувати повідомлення.

  • Тиск: Вказується URL-адреса кінцевої точки, і повідомлення будуть надіслані безпосередньо на неї.

  • Таблиця BigQuery: Подібно до тиску, але встановлення повідомлень у таблицю BigQuery.

  • Cloud Storage: Передавати повідомлення безпосередньо до існуючого відра.

За замовчуванням підписка закінчується через 31 день, хоча її можна встановити, щоб вона ніколи не закінчувалася.

За замовчуванням повідомлення зберігаються протягом 7 днів, але цей час можна збільшити до 31 дня. Також, якщо воно не підтверджено протягом 10 секунд, воно повертається до черги. Також можна встановити, що підтверджені повідомлення повинні продовжувати зберігатися.

За замовчуванням тема шифрується за допомогою керованого шифрування Google, але можна вибрати також CMEK (Ключ керованого шифрування клієнта) від KMS.

Поштова скринька: Підписки можуть налаштовувати максимальну кількість спроб доставки. Коли повідомлення не може бути доставлене, воно перенаправляється на вказану тему мертвих листів.

Знімки та Схеми

Знімок - це функція, яка захоплює стан підписки в певний момент часу. Це, по суті, консистентне резервне копіювання непідтверджених повідомлень у підписці. Створюючи знімок, ви зберігаєте стан підтвердження повідомлення підписки, що дозволяє відновити споживання повідомлень з моменту створення знімка, навіть після того, як оригінальні повідомлення були б в іншому випадку видалені. Якщо ви дуже щасливі, знімок може містити стару конфіденційну інформацію з моменту створення знімка.

При створенні теми можна вказати, що повідомлення теми повинні відповідати схемі.

Перелік

# Get a list of topics in the project
gcloud pubsub topics list
gcloud pubsub topics describe <topic>
gcloud pubsub topics list-subscriptions <topic>
gcloud pubsub topics get-iam-policy <topic>

# Get a list of subscriptions across all topics
gcloud pubsub subscriptions list
gcloud pubsub subscriptions describe <subscription>
gcloud pubsub subscriptions get-iam-policy <subscription>

# Get list of schemas
gcloud pubsub schemas list
gcloud pubsub schemas describe <schema>
gcloud pubsub schemas list-revisions <schema>

# Get list of snapshots
gcloud pubsub snapshots list
gcloud pubsub snapshots describe <snapshot>

Однак ви можете отримати кращі результати, запитуючи більший набір даних, включаючи старі повідомлення. Це має деякі передумови і може вплинути на додатки, тому переконайтеся, що ви дійсно знаєте, що робите.

Підвищення привілеїв та пост-експлуатація

GCP - Pub/Sub Post Exploitation

Pub/Sub Lite

Pub/Sub Lite - це сервіс повідомлень з зональним сховищем. Pub/Sub Lite коштує частку від Pub/Sub і призначений для високовольтних потоків (до 10 мільйонів повідомлень на секунду) та систем, що працюють за подіями, де основним критерієм є низька вартість.

У PubSub Lite є теми та підписки, відсутні знімки та схеми, а також:

  • Резервування: Резервування Pub/Sub Lite - це функція, яка дозволяє користувачам резервувати потужність у певному регіоні для їхніх потоків повідомлень.

  • Операції: Це вказує на дії та завдання, пов'язані з управлінням та адмініструванням Pub/Sub Lite.

Перелік

# lite-topics
gcloud pubsub lite-topics list
gcloud pubsub lite-topics describe <topic>
gcloud pubsub lite-topics list-subscriptions <topic>

# lite-subscriptions
gcloud pubsub lite-subscriptions list
gcloud pubsub lite-subscriptions describe <subscription>

# lite-reservations
gcloud pubsub lite-reservations list
gcloud pubsub lite-reservations describe <topic>
gcloud pubsub lite-reservations list-topics <topic>

# lite-operations
gcloud pubsub lite-operations list
gcloud pubsub lite-operations describe <topic>
Підтримайте HackTricks

Last updated