GCP - Cloud SQL Enum

Support HackTricks

Basic Information

Google Cloud SQL एक प्रबंधित सेवा है जो रिलेशनल डेटाबेस जैसे MySQL, PostgreSQL, और SQL Server को Google Cloud Platform पर सेटअप, बनाए रखने और प्रबंधित करने को सरल बनाती है, जिससे हार्डवेयर प्रावधान, डेटाबेस सेटअप, पैचिंग, और बैकअप जैसे कार्यों को संभालने की आवश्यकता समाप्त हो जाती है।

Google Cloud SQL की प्रमुख विशेषताएँ हैं:

  1. पूर्ण रूप से प्रबंधित: Google Cloud SQL एक पूर्ण रूप से प्रबंधित सेवा है, जिसका अर्थ है कि Google डेटाबेस रखरखाव कार्यों जैसे पैचिंग, अपडेट, बैकअप, और कॉन्फ़िगरेशन को संभालता है।

  2. स्केलेबिलिटी: यह आपके डेटाबेस के स्टोरेज क्षमता और कंप्यूट संसाधनों को स्केल करने की क्षमता प्रदान करता है, अक्सर बिना डाउनटाइम के।

  3. उच्च उपलब्धता: उच्च उपलब्धता कॉन्फ़िगरेशन प्रदान करता है, यह सुनिश्चित करते हुए कि आपकी डेटाबेस सेवाएँ विश्वसनीय हैं और क्षेत्र या उदाहरण की विफलताओं का सामना कर सकती हैं।

  4. सुरक्षा: डेटा एन्क्रिप्शन, पहचान और पहुंच प्रबंधन (IAM) नियंत्रण, और निजी आईपी और VPC का उपयोग करके नेटवर्क अलगाव जैसी मजबूत सुरक्षा सुविधाएँ प्रदान करता है।

  5. बैकअप और पुनर्प्राप्ति: स्वचालित बैकअप और समय-समय पर पुनर्प्राप्ति का समर्थन करता है, जिससे आप अपने डेटा की सुरक्षा और पुनर्स्थापना कर सकते हैं।

  6. एकीकरण: अन्य Google Cloud सेवाओं के साथ निर्बाध रूप से एकीकृत होता है, अनुप्रयोगों को बनाने, तैनात करने और प्रबंधित करने के लिए एक व्यापक समाधान प्रदान करता है।

  7. प्रदर्शन: डेटाबेस प्रदर्शन की निगरानी, समस्या निवारण, और सुधार के लिए प्रदर्शन मैट्रिक्स और निदान प्रदान करता है।

Password

वेब कंसोल में Cloud SQL उपयोगकर्ता को डेटाबेस का पासवर्ड सेट करने की अनुमति देता है, वहाँ एक जनरेट फीचर भी है, लेकिन सबसे महत्वपूर्ण बात यह है कि MySQL को खाली पासवर्ड छोड़ने की अनुमति है और सभी को पासवर्ड के रूप में केवल "a" वर्ण सेट करने की अनुमति है:

यह भी संभव है कि एक पासवर्ड नीति को कॉन्फ़िगर किया जाए जिसमें लंबाई, जटिलता, पुन: उपयोग को निष्क्रिय करना और पासवर्ड में उपयोगकर्ता नाम को निष्क्रिय करना शामिल हो। सभी डिफ़ॉल्ट रूप से निष्क्रिय होते हैं।

SQL Server को एक्टिव डायरेक्टरी प्रमाणीकरण के साथ कॉन्फ़िगर किया जा सकता है।

Zone Availability

डेटाबेस 1 क्षेत्र में या कई में उपलब्ध हो सकता है, निश्चित रूप से, महत्वपूर्ण डेटाबेस को कई क्षेत्रों में रखना अनुशंसित है।

Encryption

डिफ़ॉल्ट रूप से एक Google-प्रबंधित एन्क्रिप्शन कुंजी का उपयोग किया जाता है, लेकिन यह भी ग्राहक-प्रबंधित एन्क्रिप्शन कुंजी (CMEK) चुनना संभव है।

Connections

  • Private IP: VPC नेटवर्क को इंगित करें और डेटाबेस को नेटवर्क के अंदर एक निजी आईपी मिलेगा

  • Public IP: डेटाबेस को एक सार्वजनिक आईपी मिलेगा, लेकिन डिफ़ॉल्ट रूप से कोई भी कनेक्ट नहीं कर सकेगा

  • Authorized networks: सार्वजनिक IP रेंज को इंगित करें जो डेटाबेस से कनेक्ट करने की अनुमति होनी चाहिए

  • Private Path: यदि DB किसी VPC में कनेक्ट है, तो इस विकल्प को सक्षम करना संभव है और अन्य GCP सेवाओं जैसे BigQuery को इसके माध्यम से पहुंच प्रदान करना

Data Protection

  • Daily backups: स्वचालित दैनिक बैकअप करें और आप कितने बैकअप बनाए रखना चाहते हैं, यह इंगित करें।

  • Point-in-time recovery: आपको एक विशिष्ट समय बिंदु से डेटा पुनर्प्राप्त करने की अनुमति देता है, एक सेकंड के एक अंश तक।

  • Deletion Protection: यदि सक्षम किया गया है, तो DB को तब तक हटाया नहीं जा सकेगा जब तक कि यह सुविधा निष्क्रिय न हो जाए।

Enumeration

# Get SQL instances
gcloud sql instances list
gcloud sql instances describe <inst-name> # get IPs, CACert, settings

# Get database names inside an instance (like information_schema, sys...)
gcloud sql databases list --instance <intance-name>
gcloud sql databases describe <db-name> --instance <intance-name>

# Get usernames inside the db instance
gcloud sql users list --instance <intance-name>

# Backups
gcloud sql backups list --instance <intance-name>
gcloud sql backups describe <backup-name> --instance <intance-name>

Unauthenticated Enum

Post Exploitation

Persistence

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

Last updated