mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-12 21:13:45 -08:00
Translated ['src/pentesting-cloud/azure-security/az-persistence/az-queue
This commit is contained in:
@@ -425,8 +425,8 @@
|
||||
- [Az - Management Groups, Subscriptions & Resource Groups](pentesting-cloud/azure-security/az-services/az-management-groups-subscriptions-and-resource-groups.md)
|
||||
- [Az - MySQL](pentesting-cloud/azure-security/az-services/az-mysql.md)
|
||||
- [Az - PostgreSQL](pentesting-cloud/azure-security/az-services/az-postgresql.md)
|
||||
- [Az - Queue Storage](pentesting-cloud/azure-security/az-services/az-queue-enum.md)
|
||||
- [Az - Service Bus](pentesting-cloud/azure-security/az-services/az-servicebus-enum.md)
|
||||
- [Az - Queue Storage](pentesting-cloud/azure-security/az-services/az-queue.md)
|
||||
- [Az - Service Bus](pentesting-cloud/azure-security/az-services/az-servicebus.md)
|
||||
- [Az - SQL](pentesting-cloud/azure-security/az-services/az-sql.md)
|
||||
- [Az - Static Web Applications](pentesting-cloud/azure-security/az-services/az-static-web-apps.md)
|
||||
- [Az - Storage Accounts & Blobs](pentesting-cloud/azure-security/az-services/az-storage.md)
|
||||
@@ -489,6 +489,7 @@
|
||||
- [Az - Persistence](pentesting-cloud/azure-security/az-persistence/README.md)
|
||||
- [Az - Automation Accounts Persistence](pentesting-cloud/azure-security/az-persistence/az-automation-accounts-persistence.md)
|
||||
- [Az - Cloud Shell Persistence](pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md)
|
||||
- [Az - Queue SQL Persistence](pentesting-cloud/azure-security/az-persistence/az-sql-persistance.md)
|
||||
- [Az - Queue Storage Persistence](pentesting-cloud/azure-security/az-persistence/az-queue-persistance.md)
|
||||
- [Az - VMs Persistence](pentesting-cloud/azure-security/az-persistence/az-vms-persistence.md)
|
||||
- [Az - Storage Persistence](pentesting-cloud/azure-security/az-persistence/az-storage-persistence.md)
|
||||
|
||||
@@ -7,10 +7,10 @@
|
||||
Для отримання додаткової інформації перегляньте:
|
||||
|
||||
{{#ref}}
|
||||
../az-services/az-queue-enum.md
|
||||
../az-services/az-queue.md
|
||||
{{#endref}}
|
||||
|
||||
### Дії: `Microsoft.Storage/storageAccounts/queueServices/queues/write`
|
||||
### Actions: `Microsoft.Storage/storageAccounts/queueServices/queues/write`
|
||||
|
||||
Ця дозволена дія дозволяє зловмиснику створювати або змінювати черги та їх властивості в межах облікового запису зберігання. Її можна використовувати для створення несанкціонованих черг, зміни метаданих або зміни списків контролю доступу (ACL), щоб надати або обмежити доступ. Ця можливість може порушити робочі процеси, ввести шкідливі дані, ексфільтрувати чутливу інформацію або маніпулювати налаштуваннями черги для подальших атак.
|
||||
```bash
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
# Az - SQL Persistence
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
## SQL
|
||||
|
||||
Для отримання додаткової інформації перегляньте:
|
||||
|
||||
{{#ref}}
|
||||
../az-services/az-sql.md
|
||||
{{#endref}}
|
||||
|
||||
### Загальні техніки збереження
|
||||
|
||||
- Скомпрометувати облікові дані SQL або створити користувача SQL (включити SQL автентифікацію за потреби)
|
||||
- Призначити скомпрометованого користувача адміністратором Entra ID (включити автентифікацію Entra ID за потреби)
|
||||
- Задня дверцята у VM (якщо використовується SQL VM)
|
||||
- Створити правило FW для підтримки доступу до бази даних SQL
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
@@ -7,12 +7,12 @@
|
||||
Для отримання додаткової інформації перегляньте:
|
||||
|
||||
{{#ref}}
|
||||
../az-services/az-queue-enum.md
|
||||
../az-services/az-queue.md
|
||||
{{#endref}}
|
||||
|
||||
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/read`
|
||||
|
||||
Зловмисник з цим дозволом може переглядати повідомлення з Azure Storage Queue. Це дозволяє зловмиснику бачити вміст повідомлень, не позначаючи їх як оброблені або не змінюючи їхній стан. Це може призвести до несанкціонованого доступу до чутливої інформації, що дозволяє ексфільтрацію даних або збір розвідки для подальших атак.
|
||||
Зловмисник з цим дозволом може переглядати повідомлення з Azure Storage Queue. Це дозволяє зловмиснику бачити вміст повідомлень, не позначаючи їх як оброблені та не змінюючи їхній стан. Це може призвести до несанкціонованого доступу до чутливої інформації, що дозволяє ексфільтрацію даних або збір розвідки для подальших атак.
|
||||
```bash
|
||||
az storage message peek --queue-name <queue_name> --account-name <storage_account>
|
||||
```
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
Для отримання додаткової інформації перегляньте:
|
||||
|
||||
{{#ref}}
|
||||
../az-services/az-servicebus-enum.md
|
||||
../az-services/az-servicebus.md
|
||||
{{#endref}}
|
||||
|
||||
### Дії: `Microsoft.ServiceBus/namespaces/Delete`
|
||||
@@ -18,13 +18,13 @@ az servicebus namespace delete --resource-group <ResourceGroupName> --name <Name
|
||||
```
|
||||
### Дії: `Microsoft.ServiceBus/namespaces/topics/Delete`
|
||||
|
||||
Зловмисник з цим дозволом може видалити тему Azure Service Bus. Ця дія видаляє тему та всі її асоційовані підписки і повідомлення, що може призвести до втрати критично важливих даних і порушення роботи систем і робочих процесів, що залежать від теми.
|
||||
Зловмисник з цим дозволом може видалити тему Azure Service Bus. Ця дія видаляє тему та всі її асоційовані підписки і повідомлення, що може призвести до втрати критично важливих даних і порушення систем та робочих процесів, що залежать від теми.
|
||||
```bash
|
||||
az servicebus topic delete --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --name <TopicName>
|
||||
```
|
||||
### Дії: `Microsoft.ServiceBus/namespaces/queues/Delete`
|
||||
|
||||
Зловмисник з цим дозволом може видалити чергу Azure Service Bus. Ця дія видаляє чергу та всі повідомлення в ній, що може призвести до втрати критично важливих даних і порушення роботи систем та робочих процесів, що залежать від черги.
|
||||
Зловмисник з цим дозволом може видалити чергу Azure Service Bus. Ця дія видаляє чергу та всі повідомлення в ній, що може призвести до втрати критично важливих даних і порушення роботи систем та робочих процесів, які залежать від черги.
|
||||
```bash
|
||||
az servicebus queue delete --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --name <QueueName>
|
||||
```
|
||||
@@ -36,7 +36,7 @@ az servicebus topic subscription delete --resource-group <ResourceGroupName> --n
|
||||
```
|
||||
### Дії: `Microsoft.ServiceBus/namespaces/queues/write` (`Microsoft.ServiceBus/namespaces/queues/read`)
|
||||
|
||||
Зловмисник з правами на створення або модифікацію черг Azure Service Bus (для модифікації черги вам також знадобиться дія: `Microsoft.ServiceBus/namespaces/queues/read`) може використати це для перехоплення даних, порушення робочих процесів або надання несанкціонованого доступу. Вони можуть змінювати критичні конфігурації, такі як пересилання повідомлень на шкідливі кінцеві точки, налаштування TTL повідомлень для неналежного збереження або видалення даних, або активація механізму "мертвих листів" для втручання в обробку помилок. Крім того, вони можуть маніпулювати розмірами черг, тривалістю блокувань або статусами, щоб порушити функціональність служби або уникнути виявлення, що робить це значним ризиком після експлуатації.
|
||||
Зловмисник з правами на створення або модифікацію черг Azure Service Bus (для модифікації черги вам також знадобляться права на дію: `Microsoft.ServiceBus/namespaces/queues/read`) може використати це для перехоплення даних, порушення робочих процесів або надання несанкціонованого доступу. Вони можуть змінювати критичні конфігурації, такі як пересилання повідомлень на шкідливі кінцеві точки, налаштування TTL повідомлень для неналежного збереження або видалення даних, або активація механізму "мертвих листів" для втручання в обробку помилок. Крім того, вони можуть маніпулювати розмірами черг, тривалістю блокувань або статусами, щоб порушити функціональність служби або уникнути виявлення, що робить це значним ризиком після експлуатації.
|
||||
```bash
|
||||
az servicebus queue create --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --name <QueueName>
|
||||
az servicebus queue update --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --name <QueueName>
|
||||
@@ -50,12 +50,12 @@ az servicebus topic update --resource-group <ResourceGroupName> --namespace-name
|
||||
```
|
||||
### Дії: `Microsoft.ServiceBus/namespaces/topics/subscriptions/write` (`Microsoft.ServiceBus/namespaces/topics/subscriptions/read`)
|
||||
|
||||
Зловмисник з правами на створення або модифікацію підписок (для модифікації підписки вам також знадобиться дія: `Microsoft.ServiceBus/namespaces/topics/subscriptions/read`) в рамках теми Azure Service Bus може використати це для перехоплення, перенаправлення або порушення робочих процесів повідомлень. Використовуючи команди, такі як az servicebus topic subscription update, вони можуть маніпулювати конфігураціями, такими як увімкнення мертвого листування для відволікання повідомлень, пересилання повідомлень на несанкціоновані кінцеві точки або модифікація TTL і тривалості блокування для збереження або втручання в доставку повідомлень. Крім того, вони можуть змінювати налаштування статусу або максимального ліміту доставки, щоб порушити операції або уникнути виявлення, що робить контроль підписок критично важливим аспектом сценаріїв після експлуатації.
|
||||
Зловмисник з правами на створення або модифікацію підписок (для модифікації підписки вам також знадобиться дія: `Microsoft.ServiceBus/namespaces/topics/subscriptions/read`) в межах теми Azure Service Bus може використати це для перехоплення, перенаправлення або порушення робочих процесів повідомлень. Використовуючи команди, такі як az servicebus topic subscription update, вони можуть маніпулювати конфігураціями, такими як увімкнення мертвого листування для відволікання повідомлень, пересилання повідомлень на несанкціоновані кінцеві точки або модифікація TTL і тривалості блокування для збереження або перешкоджання доставці повідомлень. Крім того, вони можуть змінювати налаштування статусу або максимальну кількість доставок, щоб порушити операції або уникнути виявлення, що робить контроль підписок критично важливим аспектом сценаріїв після експлуатації.
|
||||
```bash
|
||||
az servicebus topic subscription create --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --topic-name <TopicName> --name <SubscriptionName>
|
||||
az servicebus topic subscription update --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --topic-name <TopicName> --name <SubscriptionName>
|
||||
```
|
||||
### Дії: `AuthorizationRules` Надсилання та Отримання Повідомлень
|
||||
### Дії: `AuthorizationRules` Відправка та отримання повідомлень
|
||||
|
||||
Подивіться сюди:
|
||||
|
||||
|
||||
@@ -7,12 +7,12 @@
|
||||
Для отримання додаткової інформації перегляньте:
|
||||
|
||||
{{#ref}}
|
||||
../az-services/az-queue-enum.md
|
||||
../az-services/az-queue.md
|
||||
{{#endref}}
|
||||
|
||||
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/read`
|
||||
|
||||
Зловмисник з цим дозволом може переглядати повідомлення з Azure Storage Queue. Це дозволяє зловмиснику бачити вміст повідомлень, не позначаючи їх як оброблені або не змінюючи їхній стан. Це може призвести до несанкціонованого доступу до чутливої інформації, що дозволяє витік даних або збір розвідки для подальших атак.
|
||||
Зловмисник з цим дозволом може переглядати повідомлення з Azure Storage Queue. Це дозволяє зловмиснику бачити вміст повідомлень, не позначаючи їх як оброблені або не змінюючи їхній стан. Це може призвести до несанкціонованого доступу до чутливої інформації, що дозволяє ексфільтрацію даних або збір розвідки для подальших атак.
|
||||
```bash
|
||||
az storage message peek --queue-name <queue_name> --account-name <storage_account>
|
||||
```
|
||||
@@ -26,7 +26,7 @@ az storage message get --queue-name <queue_name> --account-name <storage_account
|
||||
```
|
||||
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/add/action`
|
||||
|
||||
З цією дозволом зловмисник може додавати нові повідомлення до Azure Storage Queue. Це дозволяє їм інжектувати шкідливі або несанкціоновані дані в чергу, потенційно викликаючи непередбачувані дії або порушуючи роботу downstream-сервісів, які обробляють повідомлення.
|
||||
З цією дозволом зловмисник може додавати нові повідомлення до Azure Storage Queue. Це дозволяє їм інжектувати шкідливі або несанкціоновані дані в чергу, що потенційно може викликати непередбачувані дії або порушити роботу downstream-сервісів, які обробляють повідомлення.
|
||||
```bash
|
||||
az storage message put --queue-name <queue-name> --content "Injected malicious message" --account-name <storage-account>
|
||||
```
|
||||
|
||||
@@ -7,14 +7,14 @@
|
||||
Для отримання додаткової інформації перегляньте:
|
||||
|
||||
{{#ref}}
|
||||
../az-services/az-servicebus-enum.md
|
||||
../az-services/az-servicebus.md
|
||||
{{#endref}}
|
||||
|
||||
### Microsoft.ServiceBus/namespaces/authorizationrules/listKeys/action АБО Microsoft.ServiceBus/namespaces/authorizationrules/regenerateKeys/action
|
||||
|
||||
Ці дозволи дозволяють отримувати або регенерувати ключі для локальних правил авторизації в межах простору імен Service Bus. Використовуючи ці ключі, можливо аутентифікуватися як простір імен Service Bus, що дозволяє надсилати повідомлення в будь-яку чергу або тему, отримувати повідомлення з будь-якої черги або підписки, або потенційно взаємодіяти з системою способами, які можуть порушити операції, видавати себе за дійсних користувачів або впроваджувати шкідливі дані в робочий процес обміну повідомленнями.
|
||||
|
||||
Зверніть увагу, що за замовчуванням **`RootManageSharedAccessKey` правило має повний контроль** над простором імен Service Bus і використовується `az` cli, однак можуть існувати й інші правила з іншими значеннями ключів.
|
||||
Зверніть увагу, що за замовчуванням правило **`RootManageSharedAccessKey` має повний контроль** над простором імен Service Bus і використовується `az` cli, однак можуть існувати й інші правила з іншими значеннями ключів.
|
||||
```bash
|
||||
# List keys
|
||||
az servicebus namespace authorization-rule keys list --resource-group <res-group> --namespace-name <namespace-name> --authorization-rule-name RootManageSharedAccessKey [--authorization-rule-name RootManageSharedAccessKey]
|
||||
@@ -24,7 +24,7 @@ az servicebus namespace authorization-rule keys renew --key [PrimaryKey|Secondar
|
||||
```
|
||||
### Microsoft.ServiceBus/namespaces/AuthorizationRules/write
|
||||
|
||||
З цією дозволом можливо **створити нове правило авторизації** з усіма дозволами та власними ключами з:
|
||||
З цією дозволом можливо **створити нове правило авторизації** з усіма дозволами та власними ключами за допомогою:
|
||||
```bash
|
||||
az servicebus namespace authorization-rule create --authorization-rule-name "myRule" --namespace-name mynamespacespdemo --resource-group Resource_Group_1 --rights Manage Listen Send
|
||||
```
|
||||
@@ -39,7 +39,7 @@ az servicebus namespace authorization-rule update \
|
||||
--name RootManageSharedAccessKey \
|
||||
--rights Manage Listen Send
|
||||
```
|
||||
### Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/ListKeys/action АБО Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/regenerateKeys/action
|
||||
### Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/ListKeys/action OR Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/regenerateKeys/action
|
||||
|
||||
Конкретні теми та черги всередині простору імен Service Bus можуть мати свої власні правила авторизації, які можна використовувати для контролю доступу до сутності. Маючи ці дозволи, ви можете **отримати або відновити ключі для цих локальних правил авторизації**, що дозволяє вам аутентифікуватися як сутність і потенційно надсилати або отримувати повідомлення, керувати підписками або взаємодіяти з системою способами, які можуть порушити роботу, видавати себе за дійсних користувачів або впроваджувати шкідливі дані в робочий процес обміну повідомленнями.
|
||||
```bash
|
||||
@@ -78,17 +78,18 @@ az servicebus queue authorization-rule update --resource-group <res-group> --nam
|
||||
```
|
||||
### Microsoft.ServiceBus/namespaces/write (& Microsoft.ServiceBus/namespaces/read if az cli is used)
|
||||
|
||||
З цими дозволами **зловмисник може повторно активувати "локальну аутентифікацію"** за допомогою наступної команди, і тому всі ключі з спільних політик будуть працювати.
|
||||
З цими дозволами **зловмисник може знову активувати "локальну аутентифікацію"** за допомогою наступної команди, і тому всі ключі з спільних політик будуть працювати.
|
||||
```bash
|
||||
az servicebus namespace update --disable-local-auth false -n <namespace-name> --resource-group <res-group>
|
||||
```
|
||||
### Відправка повідомлень з ключами (Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action АБО Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action)
|
||||
### Відправка повідомлень з ключами (Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/ListKeys/action АБО Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/regenerateKeys/action)
|
||||
|
||||
Ви можете отримати `PrimaryConnectionString`, який діє як облікові дані для простору імен Service Bus. З цим рядком підключення ви можете повністю автентифікуватися як простір імен Service Bus, що дозволяє вам відправляти повідомлення в будь-яку чергу або тему та потенційно взаємодіяти з системою способами, які можуть порушити роботу, видавати себе за дійсних користувачів або впроваджувати шкідливі дані в робочий процес обміну повідомленнями. Цей метод працює, якщо `--disable-local-auth` встановлено в false.
|
||||
Ви можете отримати `PrimaryConnectionString`, який діє як облікові дані для простору імен Service Bus. З цим рядком підключення ви можете повністю автентифікуватися як простір імен Service Bus, що дозволяє вам відправляти повідомлення в будь-яку чергу або тему та потенційно взаємодіяти з системою способами, які можуть порушити роботу, видавати себе за дійсних користувачів або впроваджувати шкідливі дані в робочий процес обміну повідомленнями. Цей метод працює, якщо `--disable-local-auth` встановлено в false (тобто локальна автентифікація увімкнена).
|
||||
```python
|
||||
import asyncio
|
||||
from azure.servicebus.aio import ServiceBusClient
|
||||
from azure.servicebus import ServiceBusMessage
|
||||
# pip install azure-servicebus
|
||||
|
||||
NAMESPACE_CONNECTION_STR = "<PrimaryConnectionString>"
|
||||
TOPIC_OR_QUEUE_NAME = "<TOPIC_OR_QUEUE_NAME>"
|
||||
@@ -129,12 +130,13 @@ az rest --method post \
|
||||
--body "<MESSAGE_BODY>"
|
||||
|
||||
```
|
||||
### Receive with keys (Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action OR Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action)
|
||||
### Receive with keys (Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/ListKeys/action OR Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/regenerateKeys/action)
|
||||
|
||||
Ви можете отримати PrimaryConnectionString, який слугує обліковими даними для простору імен Service Bus. Використовуючи цей рядок підключення, ви можете отримувати повідомлення з будь-якої черги або підписки в межах простору імен, що дозволяє отримати доступ до потенційно чутливих або критичних даних, що дозволяє ексфільтрацію даних або втручання в обробку повідомлень і робочі процеси додатків. Цей метод працює, якщо `--disable-local-auth` встановлено в false.
|
||||
```python
|
||||
import asyncio
|
||||
from azure.servicebus.aio import ServiceBusClient
|
||||
# pip install azure-servicebus
|
||||
|
||||
CONN_STR = "<PrimaryConnectionString>"
|
||||
QUEUE = "<QUEUE_NAME>"
|
||||
@@ -224,13 +226,15 @@ import asyncio
|
||||
from azure.identity.aio import DefaultAzureCredential
|
||||
from azure.servicebus.aio import ServiceBusClient
|
||||
from azure.servicebus import ServiceBusMessage
|
||||
# pip install azure-servicebus
|
||||
|
||||
NS = "<namespace>.servicebus.windows.net" # Your namespace
|
||||
QUEUE_OR_TOPIC = "<QUEUE_OR_TOPIC>" # Your queue name
|
||||
QUEUE_OR_TOPIC = "<QUEUE_OR_TOPIC>" # Your queue name
|
||||
|
||||
async def run():
|
||||
credential = DefaultAzureCredential()
|
||||
async with ServiceBusClient(fully_qualified_namespace=NS, credential=credential) as client:
|
||||
#async with client.get_topic_sender(topic_name=TOPIC) as sender: # Use this to send the message to a topic
|
||||
async with client.get_queue_sender(queue_name=QUEUE) as sender:
|
||||
await sender.send_messages(ServiceBusMessage("Single Message"))
|
||||
print("Sent a single message")
|
||||
@@ -246,6 +250,7 @@ asyncio.run(run())
|
||||
import asyncio
|
||||
from azure.identity.aio import DefaultAzureCredential
|
||||
from azure.servicebus.aio import ServiceBusClient
|
||||
# pip install azure-servicebus
|
||||
|
||||
NS = "<namespace>.servicebus.windows.net"
|
||||
QUEUE = "<QUEUE>"
|
||||
@@ -274,7 +279,7 @@ await credential.close()
|
||||
asyncio.run(run())
|
||||
print("Done receiving messages")
|
||||
```
|
||||
## References
|
||||
## Посилання
|
||||
|
||||
- [https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues](https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues)
|
||||
- [https://learn.microsoft.com/en-us/rest/api/storageservices/queue-service-rest-api](https://learn.microsoft.com/en-us/rest/api/storageservices/queue-service-rest-api)
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
## Основна інформація
|
||||
|
||||
Azure Queue Storage - це сервіс у хмарній платформі Microsoft Azure, призначений для чергування повідомлень між компонентами додатка, **що дозволяє асинхронну комунікацію та розділення**. Він дозволяє зберігати необмежену кількість повідомлень, кожне з яких має розмір до 64 КБ, і підтримує операції, такі як створення та видалення черг, додавання, отримання, оновлення та видалення повідомлень, а також управління метаданими та політиками доступу. Хоча зазвичай він обробляє повідомлення в порядку надходження (FIFO), строгий FIFO не гарантується.
|
||||
Azure Queue Storage - це сервіс у хмарній платформі Microsoft Azure, призначений для чергування повідомлень між компонентами додатка, **що дозволяє асинхронну комунікацію та розділення**. Він дозволяє зберігати необмежену кількість повідомлень, кожне з яких має розмір до 64 КБ, і підтримує операції, такі як створення та видалення черг, додавання, отримання, оновлення та видалення повідомлень, а також управління метаданими та політиками доступу. Хоча зазвичай він обробляє повідомлення в порядку "перший прийшов - перший вийшов" (FIFO), строгий FIFO не гарантується.
|
||||
|
||||
### Перерахування
|
||||
|
||||
@@ -76,7 +76,7 @@ $queueMessage.Value
|
||||
../az-post-exploitation/az-queue-post-exploitation.md
|
||||
{{#endref}}
|
||||
|
||||
### Персистентність
|
||||
### Постійність
|
||||
|
||||
{{#ref}}
|
||||
../az-persistence/az-queue-persistance.md
|
||||
@@ -16,10 +16,10 @@ Azure Service Bus - це хмарна **служба обміну повідом
|
||||
- Підтримує точкову комунікацію.
|
||||
3. **Topics:** Публікація-підписка для трансляції.
|
||||
- Кілька незалежних підписок отримують копії повідомлень.
|
||||
- Кожна підписка подібна до черги всередині теми.
|
||||
- Кожна підписка - це як черга всередині теми.
|
||||
- Підписки можуть мати правила/фільтри для контролю доставки або додавання метаданих.
|
||||
|
||||
Службовий кінець/рядок підключення до bus:
|
||||
Точка доступу/рядок підключення служби обміну повідомленнями:
|
||||
```bash
|
||||
https://<namespace>.servicebus.windows.net:443/
|
||||
```
|
||||
@@ -40,7 +40,7 @@ https://<namespace>.servicebus.windows.net:443/
|
||||
|
||||
### Локальна аутентифікація
|
||||
|
||||
Параметр **`--disable-local-auth`** з az cli використовується для контролю того, чи **локальна аутентифікація** (дозволяє використання ключів Shared Access Signature (SAS)) увімкнена для вашого простору імен Service Bus.
|
||||
Параметр **`--disable-local-auth`** з az cli використовується для контролю того, чи **локальна аутентифікація** (дозволяючи використання ключів Shared Access Signature (SAS)) увімкнена для вашого простору імен Service Bus.
|
||||
|
||||
- Коли disable встановлено на **true**: Локальна аутентифікація за допомогою ключів SAS вимкнена, а аутентифікація Entra ID дозволена.
|
||||
- Коли disable встановлено на **false (за замовчуванням)**: Доступні як локальна аутентифікація SAS, так і аутентифікація Entra ID, і ви можете використовувати рядки підключення з ключами SAS для доступу до ресурсів Service Bus.
|
||||
@@ -57,7 +57,7 @@ https://<namespace>.servicebus.windows.net:443/
|
||||
- **Primary and Secondary Connection Strings**: Попередньо налаштовані рядки підключення, які включають кінцеву точку та ключ для зручного використання в додатках.
|
||||
- **SAS Policy ARM ID**: Шлях Azure Resource Manager (ARM) до політики для програмної ідентифікації.
|
||||
|
||||
Важливо зазначити, що простір імен має єдину політику SAS, яка впливає на кожну сутність в ньому, тоді як черги та теми можуть мати свої власні індивідуальні політики SAS для більш детального контролю.
|
||||
Важливо зазначити, що простір імен має єдину політику SAS, яка впливає на кожну сутність у ньому, тоді як черги та теми можуть мати свої власні індивідуальні політики SAS для більш детального контролю.
|
||||
|
||||
### Перерахування
|
||||
|
||||
@@ -150,7 +150,7 @@ Get-AzServiceBusTopic -ResourceGroupName <ResourceGroupName> -NamespaceName <Nam
|
||||
../az-privilege-escalation/az-servicebus-privesc.md
|
||||
{{#endref}}
|
||||
|
||||
### Постексплуатація
|
||||
### Після Експлуатації
|
||||
|
||||
{{#ref}}
|
||||
../az-post-exploitation/az-servicebus-post-exploitation.md
|
||||
@@ -71,26 +71,26 @@ Azure SQL складається з чотирьох основних пропо
|
||||
- **Резервування даних:** Варіанти - локальне, зональне, гео або гео-зональне резервування.
|
||||
- **Леджер:** Він криптографічно перевіряє цілісність даних, забезпечуючи виявлення будь-якого підроблення. Корисно для фінансових, медичних та будь-яких організацій, що управляють чутливими даними.
|
||||
|
||||
База даних SQL може бути частиною **еластичного пулу**. Еластичні пулі є економічно вигідним рішенням для управління кількома базами даних, ділячи налаштовувані обчислювальні (eDTUs) та сховищні ресурси між ними, з цінами, що базуються виключно на виділених ресурсах, а не на кількості баз даних.
|
||||
База даних SQL може бути частиною **еластичного пулу**. Еластичні пулі є економічно вигідним рішенням для управління кількома базами даних шляхом спільного використання налаштовуваних обчислювальних (eDTUs) та сховищ ресурсів між ними, з цінами, що базуються виключно на виділених ресурсах, а не на кількості баз даних.
|
||||
|
||||
#### Azure SQL Column Level Security (Masking) & Row Level Security
|
||||
|
||||
**Динамічне** маскування даних Azure SQL - це функція, яка допомагає **захистити чутливу інформацію, приховуючи її** від несанкціонованих користувачів. Замість того, щоб змінювати фактичні дані, вона динамічно маскує відображувані дані, забезпечуючи, щоб чутливі деталі, такі як номери кредитних карток, були приховані.
|
||||
|
||||
**Динамічне маскування даних** впливає на всіх користувачів, крім тих, хто не підлягає маскуванню (ціх користувачів потрібно вказати) та адміністраторів. Має конфігураційний параметр, який вказує, які SQL користувачі звільнені від динамічного маскування даних, з **адміністраторами завжди виключеними**.
|
||||
**Динамічне маскування даних** впливає на всіх користувачів, крім тих, хто не підлягає маскуванню (ціх користувачів потрібно вказати) та адміністраторів. Існує опція конфігурації, яка вказує, які SQL користувачі звільнені від динамічного маскування даних, при цьому **адміністратори завжди виключені**.
|
||||
|
||||
**Azure SQL Row Level Security (RLS)** - це функція, яка **контролює, які рядки користувач може переглядати або змінювати**, забезпечуючи, щоб кожен користувач бачив лише дані, що стосуються його. Створюючи політики безпеки з фільтрами або блокуючими предикатами, організації можуть забезпечити детальний доступ на рівні бази даних.
|
||||
|
||||
### Azure SQL Managed Instance
|
||||
|
||||
**Azure SQL Managed Instances** призначені для розгортань на більших масштабах, що охоплюють всю SQL Server instance. Вона забезпечує майже 100% сумісність з останнім SQL Server на місцях (Enterprise Edition) Database Engine, що забезпечує рідну реалізацію віртуальної мережі (VNet), яка вирішує загальні проблеми безпеки, і бізнес-модель, вигідну для клієнтів SQL Server на місцях.
|
||||
**Azure SQL Managed Instances** призначені для розгортань на більших масштабах, що охоплюють всю SQL Server instance. Вона забезпечує майже 100% сумісність з останнім SQL Server на місцях (Enterprise Edition) Database Engine, що забезпечує рідну реалізацію віртуальної мережі (VNet), яка вирішує загальні проблеми безпеки, та бізнес-модель, вигідну для клієнтів SQL Server на місцях.
|
||||
|
||||
### Azure SQL Virtual Machines
|
||||
|
||||
**Azure SQL Virtual Machines** дозволяє **контролювати операційну систему** та екземпляр SQL Server, оскільки віртуальна машина буде запущена в службі віртуальних машин, що працює на SQL Server.
|
||||
**Azure SQL Virtual Machines** дозволяє **контролювати операційну систему** та екземпляр SQL Server, оскільки віртуальна машина буде запущена в службі ВМ, що працює на SQL сервері.
|
||||
|
||||
Коли створюється SQL Virtual Machine, можливо **вибрати всі налаштування віртуальної машини** (як показано в уроці про віртуальні машини), яка буде хостити SQL Server.
|
||||
- Це означає, що віртуальна машина буде отримувати доступ до деяких VNet(ів), може мати **прикріплені керовані ідентичності**, може мати змонтовані файлові спільноти... що робить **переходи з SQL** на віртуальну машину дуже цікавими.
|
||||
Коли створюється SQL Virtual Machine, можливо **вибрати всі налаштування ВМ** (як показано в уроці ВМ), які будуть розміщувати SQL сервер.
|
||||
- Це означає, що ВМ буде отримувати доступ до деяких VNet(ів), може мати **прикріплені керовані ідентичності**, може мати змонтовані файлові спільноти... що робить **поворот з SQL** на ВМ надзвичайно цікавим.
|
||||
- Більше того, можливо налаштувати ідентифікатор програми та секрет для **дозволу SQL отримувати доступ до конкретного сховища ключів**, яке може містити чутливу інформацію.
|
||||
|
||||
Також можливо налаштувати такі речі, як **автоматичні оновлення SQL**, **автоматичні резервні копії**, **аутентифікацію Entra ID** та більшість функцій інших служб SQL.
|
||||
@@ -232,7 +232,7 @@ Get-AzSqlVM
|
||||
{{#endtab}}
|
||||
{{#endtabs}}
|
||||
|
||||
Додатково, якщо ви хочете перерахувати Dynamic Data Masking та Row Level policies у базі даних, ви можете виконати запит:
|
||||
Додатково, якщо ви хочете перерахувати Динамічне Маскування Даних та Політики Рівня Рядка в базі даних, ви можете виконати запит:
|
||||
```sql
|
||||
--Enumerates the masked columns
|
||||
SELECT
|
||||
@@ -295,10 +295,16 @@ sqlcmd -S <sql-server>.database.windows.net -U <server-user> -P <server-passwork
|
||||
../az-privilege-escalation/az-sql-privesc.md
|
||||
{{#endref}}
|
||||
|
||||
## Після експлуатації
|
||||
## Постексплуатація
|
||||
|
||||
{{#ref}}
|
||||
../az-post-exploitation/az-sql-post-exploitation.md
|
||||
{{#endref}}
|
||||
|
||||
### Постійність
|
||||
|
||||
{{#ref}}
|
||||
../az-persistence/az-sql-persistance.md
|
||||
{{#endref}}
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
Reference in New Issue
Block a user