7.6 KiB
Az - Service Bus Enum
{{#include ../../../banners/hacktricks-training.md}}
Service Bus
Azure Service Bus - це хмарна служба обміну повідомленнями, призначена для забезпечення надійної комунікації між різними частинами програми або окремими програмами. Вона діє як безпечний посередник, забезпечуючи безпечну доставку повідомлень, навіть якщо відправник і отримувач не працюють одночасно. Відокремлюючи системи, вона дозволяє програмам працювати незалежно, при цьому обмінюючись даними або інструкціями. Це особливо корисно для сценаріїв, що вимагають балансування навантаження між кількома працівниками, надійної доставки повідомлень або складної координації, такої як обробка завдань у порядку або безпечне управління доступом.
Key Concepts
- Queues: її мета - зберігати повідомлення, поки отримувач не буде готовий.
- Повідомлення упорядковані, мають часові мітки та надійно зберігаються.
- Доставляються в режимі витягування (за запитом).
- Підтримує точкову комунікацію.
- Topics: Публікація-підписка для трансляції.
- Кілька незалежних підписок отримують копії повідомлень.
- Підписки можуть мати правила/фільтри для контролю доставки або додавання метаданих.
- Підтримує комунікацію багато-до-багато.
- Namespaces: Контейнер для всіх компонентів обміну повідомленнями, черг і тем, подібний до вашої власної частини потужного кластера Azure, що забезпечує виділену ємність і, за бажанням, охоплює три зони доступності.
Advance Features
Деякі розширені функції:
- Message Sessions: Забезпечує обробку FIFO та підтримує шаблони запит-відповідь.
- Auto-Forwarding: Переносить повідомлення між чергами або темами в одному просторі імен.
- Dead-Lettering: Захоплює недоставлені повідомлення для перегляду.
- Scheduled Delivery: Затримує обробку повідомлень для майбутніх завдань.
- Message Deferral: Відкладає отримання повідомлень до готовності.
- Transactions: Групує операції в атомарне виконання.
- Filters & Actions: Застосовує правила для фільтрації або анотації повідомлень.
- Auto-Delete on Idle: Видаляє черги після бездіяльності (мін: 5 хвилин).
- Duplicate Detection: Видаляє дублікати повідомлень під час повторних відправок.
- Batch Deletion: Масове видалення прострочених або непотрібних повідомлень.
Authorization-Rule / SAS Policy
SAS Policies визначають дозволи доступу для сутностей Azure Service Bus, простору імен (найважливіший), черг і тем. Кожна політика має такі компоненти:
- Permissions: Прапорці для вказівки рівнів доступу:
- Manage: Надає повний контроль над сутністю, включаючи управління конфігурацією та дозволами.
- Send: Дозволяє надсилати повідомлення до сутності.
- Listen: Дозволяє отримувати повідомлення з сутності.
- Primary and Secondary Keys: Це криптографічні ключі, які використовуються для генерації безпечних токенів для автентифікації доступу.
- Primary and Secondary Connection Strings: Попередньо налаштовані рядки підключення, які включають кінцеву точку та ключ для зручного використання в програмах.
- SAS Policy ARM ID: Шлях Azure Resource Manager (ARM) до політики для програмної ідентифікації.
NameSpace
sku, правило авторизації,
Enumeration
# Queue Enumeration
az servicebus queue list --resource-group <MyResourceGroup> --namespace-name <MyNamespace>
az servicebus queue show --resource-group <MyResourceGroup> --namespace-name <MyNamespace> --name <MyQueue>
# Topic Enumeration
az servicebus topic list --resource-group <MyResourceGroup> --namespace-name <MyNamespace>
az servicebus topic show --resource-group <MyResourceGroup> --namespace-name <MyNamespace> --name <MyTopic>
# Susbscription Enumeration
az servicebus topic subscription list --resource-group <MyResourceGroup> --namespace-name <MyNamespace> --topic-name <MyTopic>
az servicebus topic subscription show --resource-group <MyResourceGroup> --namespace-name <MyNamespace> --topic-name <MyTopic> --name <MySubscription>
# Namespace Enumeration
az servicebus namespace list
az servicebus namespace network-rule-set list --resource-group <MyResourceGroup> --namespace-name <MyNamespace>
az servicebus namespace show --resource-group <MyResourceGroup> --name <MyNamespace>
az servicebus namespace network-rule-set show --resource-group <MyResourceGroup> --namespace-name <MyNamespace>
az servicebus namespace private-endpoint-connection list --resource-group <MyResourceGroup> --namespace-name <MyNamespace>
az servicebus namespace exists --name ProposedNamespace
# Authorization Rule Enumeration
az servicebus namespace authorization-rule list --resource-group <MyResourceGroup> --namespace-name <MyNamespace>
az servicebus queue authorization-rule list --resource-group <MyResourceGroup> --namespace-name <MyNamespace> --queue-name <MyQueue>
az servicebus topic authorization-rule list --resource-group <MyResourceGroup> --namespace-name <MyNamespace> --topic-name <MyTopic>
az servicebus namespace authorization-rule keys list --resource-group <MyResourceGroup> --namespace-name <MyNamespace> --name <MyAuthRule>
Підвищення Привілеїв
{{#ref}} ../az-privilege-escalation/az-servicebus-privesc.md {{#endref}}
Після Експлуатації
{{#ref}} ../az-post-exploitation/az-servicebus-post-exploitation.md {{#endref}}
Посилання
- https://learn.microsoft.com/en-us/powershell/module/az.servicebus/?view=azps-13.0.0
- https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-messaging-overview
- https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-quickstart-cli
{{#include ../../../banners/hacktricks-training.md}}