Az - MySQL Databases

Reading time: 7 minutes

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें

Azure MySQL

Azure Database for MySQL एक पूरी तरह से प्रबंधित रिलेशनल डेटाबेस सेवा है जो MySQL Community Edition पर आधारित है, जिसे विभिन्न एप्लिकेशन आवश्यकताओं के लिए स्केलेबिलिटी, सुरक्षा और लचीलापन प्रदान करने के लिए डिज़ाइन किया गया है। इसके दो अलग-अलग डिप्लॉयमेंट मॉडल हैं:

  • Single Server (सेवानिवृत्ति पथ पर है):
  • लागत-कुशल और प्रबंधित MySQL डिप्लॉयमेंट के लिए अनुकूलित।
  • सुविधाओं में स्वचालित बैकअप, उच्च उपलब्धता, और बुनियादी निगरानी शामिल हैं।
  • पूर्वानुमानित कार्यभार वाले एप्लिकेशनों के लिए आदर्श।
  • Flexible Server:
  • डेटाबेस प्रबंधन और कॉन्फ़िगरेशन पर अधिक नियंत्रण प्रदान करता है।
  • उच्च उपलब्धता का समर्थन करता है (समान-क्षेत्र और क्षेत्र-निष्क्रिय)।
  • सुविधाओं में लचीला स्केलिंग, पैच प्रबंधन, और कार्यभार अनुकूलन शामिल हैं।
  • लागत बचत के लिए स्टॉप/स्टार्ट कार्यक्षमता प्रदान करता है।

Key Features

  • Server Management: ad-admin सुविधा Azure Entra ID प्रशासकों को MySQL सर्वरों के लिए प्रबंधित करने की अनुमति देती है, जो Entra ID क्रेडेंशियल्स के माध्यम से प्रशासनिक पहुंच पर नियंत्रण प्रदान करती है। Mysql उपयोगकर्ता प्रबंधित पहचान का समर्थन करता है, जिसका उपयोग क्रेडेंशियल्स की आवश्यकता के बिना प्रमाणीकरण के लिए किया जाता है, और इसे अन्य सेवाओं द्वारा उपयोग किया जा सकता है।
  • Lifecycle Management: एक सर्वर को शुरू या बंद करने, एक लचीले सर्वर उदाहरण को हटाने, कॉन्फ़िगरेशन परिवर्तनों को जल्दी लागू करने के लिए एक सर्वर को पुनरारंभ करने, और स्वचालन स्क्रिप्ट के साथ आगे बढ़ने से पहले यह सुनिश्चित करने के लिए इंतजार करने के विकल्प शामिल हैं कि एक सर्वर विशिष्ट शर्तों को पूरा करता है।
  • Security and Networking: अपने सर्वर को फ़ायरवॉल नियमों के माध्यम से कनेक्शनों को प्रतिबंधित करके सुरक्षित करें जो केवल विशिष्ट सार्वजनिक IP पते की अनुमति देते हैं, या निजी एंडपॉइंट का उपयोग करके जो आपके सर्वर को एक वर्चुअल नेटवर्क में एकीकृत करते हैं। सभी कनेक्शन TLS 1.2 एन्क्रिप्शन के साथ सुरक्षित हैं। डेटाबेस, बैकअप, और लॉग डिफ़ॉल्ट रूप से सेवा-प्रबंधित कुंजियों या कस्टम कुंजियों का उपयोग करके विश्राम में एन्क्रिप्टेड होते हैं।
  • Data Protection and Backup: डेटा पुनर्प्राप्ति के लिए लचीले सर्वर बैकअप प्रबंधित करने के विकल्प, एक अलग क्षेत्र में एक सर्वर को पुनर्प्राप्त करने के लिए भू-बहाली करना, बाहरी उपयोग के लिए सर्वर बैकअप का निर्यात करना (पूर्वावलोकन में), और एक विशिष्ट समय पर बैकअप से सर्वर को पुनर्स्थापित करना शामिल हैं।

Enumeration

bash
# List all flexible-servers
az mysql flexible-server db list --resource-group <resource-group-name>
# List databases in a flexible-server
az mysql flexible-server db list --resource-group <resource-group-name> --server-name <server_name>
# Show specific details of a MySQL database
az mysql flexible-server db show --resource-group <resource-group-name> --server-name <server_name> --database-name <database_name>

# List firewall rules of the a server
az mysql flexible-server firewall-rule list --resource-group <resource-group-name> --name <server_name>

# List all ad-admin in a server
az mysql flexible-server ad-admin list --resource-group <resource-group-name> --server-name <server_name>
# List all user assigned managed identities from the server
az mysql flexible-server identity list --resource-group <resource-group-name> --server-name <server_name>

# List the server backups
az mysql flexible-server backup list --resource-group <resource-group-name> --name <server_name>
# List all read replicas for a given server
az mysql flexible-server replica list --resource-group <resource-group-name> --name <server_name>

# Get the server's advanced threat protection setting
az mysql flexible-server advanced-threat-protection-setting show --resource-group <resource-group-name> --name <server_name>
# List all of the maintenances of a flexible server
az mysql flexible-server maintenance list --resource-group <resource-group-name> --server-name <server_name>
# List log files for a server.
az mysql flexible-server server-logs list --resource-group <resource-group-name> --server-name <server_name>

कनेक्शन

rdbms-connect एक्सटेंशन के साथ आप डेटाबेस तक पहुँच सकते हैं:

bash
az mysql flexible-server connect -n <server-name> -u <username> -p <password> --interactive

#or execute commands
az mysql flexible-server execute \
-n <server-name> \
-u <username> \
-p "<password>" \
-d <database-name> \
--querytext "SELECT * FROM <table-name>;"

या MySQL मूल एक्सटेंशन प्लगइन के साथ

bash
mysql -h <server-name>.mysql.database.azure.com -P 3306 -u <username> -p

आप गिटहब के साथ क्वेरी भी चला सकते हैं लेकिन पासवर्ड और उपयोगकर्ता भी आवश्यक हैं। आपको चलाने के लिए क्वेरी के साथ एक SQL फ़ाइल सेट अप करनी होगी और फिर:

bash
# Setup
az mysql flexible-server deploy setup \
-s <server-name> \
-g <resource-group> \
-u <admin-user> \
-p "<admin-password>" \
--sql-file <path-to-sql-file> \
--repo <github-username/repository-name> \
--branch <branch-name> \
--action-name <action-name> \
--allow-push

# Run it
az mysql flexible-server deploy run \
--action-name <action-name> \
--branch <branch-name>

विशेषाधिकार वृद्धि

Az - MySQL Privesc

पोस्ट शोषण

Az - MySQL Post Exploitation

करने के लिए

  • mysql flexible-server ad-admin के साथ पहुँचने का एक तरीका देखें ताकि यह सत्यापित किया जा सके कि यह एक विशेषाधिकार वृद्धि विधि है

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें