Files
hacktricks-cloud/src/pentesting-cloud/azure-security/az-privilege-escalation/az-sql-privesc.md

4.8 KiB

Az - SQL Database Privesc

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

SQL Database Privesc

Kwa maelezo zaidi kuhusu SQL Database angalia:

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

"Microsoft.Sql/servers/read" && "Microsoft.Sql/servers/write"

Kwa ruhusa hizi, mtumiaji anaweza kufanya kupandisha hadhi kwa kuboresha au kuunda Azure SQL servers na kubadilisha mipangilio muhimu, ikiwa ni pamoja na akcredentials za usimamizi. Ruhusa hii inamruhusu mtumiaji kuboresha mali za server, ikiwa ni pamoja na nenosiri la msimamizi wa SQL server, ikiruhusu ufikiaji usioidhinishwa au udhibiti wa server. Wanaweza pia kuunda servers mpya, huenda wakileta miundombinu ya kivuli kwa madhumuni mabaya. Hii inakuwa muhimu hasa katika mazingira ambapo "Microsoft Entra Authentication Only" imezimwa, kwani wanaweza kutumia uthibitishaji wa SQL kupata ufikiaji usio na kikomo.

# Change the server password
az sql server update \
--name <server_name> \
--resource-group <resource_group_name> \
--admin-password <new_password>

# Create a new server
az sql server create \
--name <new_server_name> \
--resource-group <resource_group_name> \
--location <location> \
--admin-user <admin_username> \
--admin-password <admin_password>

Vilevile, ni muhimu kuwa na ufikiaji wa umma umewezeshwa ikiwa unataka kufikia kutoka kwa kiunganishi kisichokuwa cha kibinafsi, ili kuuwezesha:

az sql server update \
--name <server-name> \
--resource-group <resource-group> \
--enable-public-network true

"Microsoft.Sql/servers/firewallRules/write"

Mshambuliaji anaweza kubadilisha sheria za firewall kwenye Azure SQL servers ili kuruhusu ufikiaji usioidhinishwa. Hii inaweza kutumika kufungua server kwa anwani maalum za IP au anuwai nzima za IP, ikiwa ni pamoja na IP za umma, na kuruhusu ufikiaji kwa wahusika wabaya. Shughuli hii ya baada ya unyakuzi inaweza kutumika kupita udhibiti wa usalama wa mtandao uliopo, kuanzisha kudumu, au kuwezesha harakati za upande ndani ya mazingira kwa kufichua rasilimali nyeti.

# Create Firewall Rule
az sql server firewall-rule create \
--name <new-firewall-rule-name> \
--server <server-name> \
--resource-group <resource-group> \
--start-ip-address <start-ip-address> \
--end-ip-address <end-ip-address>

# Update Firewall Rule
az sql server firewall-rule update \
--name <firewall-rule-name> \
--server <server-name> \
--resource-group <resource-group> \
--start-ip-address <new-start-ip-address> \
--end-ip-address <new-end-ip-address>

Additionally, Microsoft.Sql/servers/outboundFirewallRules/delete ruhusa inakuwezesha kufuta Sheria ya Firewall.
NOTE: Ni muhimu kuwa na ufikiaji wa umma ulioanzishwa

""Microsoft.Sql/servers/ipv6FirewallRules/write"

Kwa ruhusa hii, unaweza kuunda, kubadilisha, au kufuta sheria za firewall za IPv6 kwenye Azure SQL Server. Hii inaweza kumwezesha mshambuliaji au mtumiaji aliyeidhinishwa kupita mipangilio ya usalama wa mtandao iliyopo na kupata ufikiaji usioidhinishwa kwenye seva. Kwa kuongeza sheria inayoruhusu trafiki kutoka anwani yoyote ya IPv6, mshambuliaji anaweza kufungua seva kwa ufikiaji wa nje.

az sql server firewall-rule create \
--server <server_name> \
--resource-group <resource_group_name> \
--name <rule_name> \
--start-ip-address <start_ipv6_address> \
--end-ip-address <end_ipv6_address>

Additionally, Microsoft.Sql/servers/ipv6FirewallRules/delete ruhusa inakuwezesha kufuta Sheria ya Firewall.
NOTE: Ni muhimu kuwa na ufikiaji wa umma ulioanzishwa

"Microsoft.Sql/servers/administrators/write" && "Microsoft.Sql/servers/administrators/read"

Kwa ruhusa hizi unaweza privesc katika mazingira ya Azure SQL Server kwa kufikia hifadhidata za SQL na kupata taarifa muhimu. Kwa kutumia amri iliyo hapa chini, mshambuliaji au mtumiaji aliyeidhinishwa anaweza kujipatia au kuweka akaunti nyingine kama msimamizi wa Azure AD. Ikiwa "Microsoft Entra Authentication Only" imeanzishwa unaweza kufikia seva na matukio yake. Hapa kuna amri ya kuweka msimamizi wa Azure AD kwa seva ya SQL:

az sql server ad-admin create \
--server <server_name> \
--resource-group <resource_group_name> \
--display-name <admin_display_name> \
--object-id <azure_subscribtion_id>

"Microsoft.Sql/servers/azureADOnlyAuthentications/write" && "Microsoft.Sql/servers/azureADOnlyAuthentications/read"

Kwa ruhusa hizi, unaweza kuunda na kutekeleza "Microsoft Entra Authentication Only" kwenye Azure SQL Server, ambayo inaweza kuwezesha kupanda hadhi katika hali fulani. Mshambuliaji au mtumiaji aliyeidhinishwa mwenye ruhusa hizi anaweza kuwezesha au kuzima uthibitishaji wa Azure AD pekee.

#Enable
az sql server azure-ad-only-auth enable \
--server <server_name> \
--resource-group <resource_group_name>

#Disable
az sql server azure-ad-only-auth disable \
--server <server_name> \
--resource-group <resource_group_name>

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