GCP - Cloud SQL Enum

Reading time: 5 minutes

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks

Informations de base

Google Cloud SQL est un service géré qui simplifie la configuration, la maintenance et l'administration des bases de données relationnelles comme MySQL, PostgreSQL et SQL Server sur Google Cloud Platform, éliminant ainsi le besoin de gérer des tùches comme la provision de matériel, la configuration de la base de données, les mises à jour et les sauvegardes.

Les principales caractéristiques de Google Cloud SQL incluent :

  1. EntiÚrement géré : Google Cloud SQL est un service entiÚrement géré, ce qui signifie que Google s'occupe des tùches de maintenance de la base de données comme les mises à jour, les sauvegardes et la configuration.
  2. ScalabilitĂ© : Il offre la possibilitĂ© d'augmenter la capacitĂ© de stockage et les ressources de calcul de votre base de donnĂ©es, souvent sans temps d'arrĂȘt.
  3. Haute disponibilité : Propose des configurations de haute disponibilité, garantissant que vos services de base de données sont fiables et peuvent résister à des pannes de zone ou d'instance.
  4. Sécurité : Fournit des fonctionnalités de sécurité robustes comme le chiffrement des données, les contrÎles d'Identity and Access Management (IAM) et l'isolement réseau utilisant des IP privées et VPC.
  5. Sauvegardes et récupération : Prend en charge les sauvegardes automatiques et la récupération à un instant donné, vous aidant à protéger et restaurer vos données.
  6. Intégration : S'intÚgre parfaitement avec d'autres services Google Cloud, offrant une solution complÚte pour construire, déployer et gérer des applications.
  7. Performance : Offre des métriques de performance et des diagnostics pour surveiller, dépanner et améliorer la performance de la base de données.

Mot de passe

Dans la console web, Cloud SQL permet à l'utilisateur de définir le mot de passe de la base de données, il y a également une fonction de génération, mais surtout, MySQL permet de laisser un mot de passe vide et tous permettent de définir comme mot de passe juste le caractÚre "a" :

Il est également possible de configurer une politique de mot de passe exigeant longueur, complexité, désactivation de la réutilisation et désactivation du nom d'utilisateur dans le mot de passe. Tous sont désactivés par défaut.

SQL Server peut ĂȘtre configurĂ© avec l'authentification Active Directory.

Disponibilité de la zone

La base de donnĂ©es peut ĂȘtre disponible dans 1 zone ou dans plusieurs, bien sĂ»r, il est recommandĂ© d'avoir des bases de donnĂ©es importantes dans plusieurs zones.

Chiffrement

Par défaut, une clé de chiffrement gérée par Google est utilisée, mais il est également possible de sélectionner une clé de chiffrement gérée par le client (CMEK).

Connexions

  • IP privĂ©e : Indiquez le rĂ©seau VPC et la base de donnĂ©es obtiendra une IP privĂ©e Ă  l'intĂ©rieur du rĂ©seau
  • IP publique : La base de donnĂ©es obtiendra une IP publique, mais par dĂ©faut, personne ne pourra se connecter
  • RĂ©seaux autorisĂ©s : Indiquez les plages d'IP publiques qui devraient ĂȘtre autorisĂ©es Ă  se connecter Ă  la base de donnĂ©es
  • Chemin privĂ© : Si la DB est connectĂ©e Ă  un VPC, il est possible d'activer cette option et de donner accĂšs Ă  d'autres services GCP comme BigQuery

Protection des données

  • Sauvegardes quotidiennes : Effectuez des sauvegardes automatiques quotidiennes et indiquez le nombre de sauvegardes que vous souhaitez maintenir.
  • RĂ©cupĂ©ration Ă  un instant donnĂ© : Vous permet de rĂ©cupĂ©rer des donnĂ©es Ă  partir d'un moment spĂ©cifique, jusqu'Ă  une fraction de seconde.
  • Protection contre la suppression : Si activĂ©e, la DB ne pourra pas ĂȘtre supprimĂ©e tant que cette fonctionnalitĂ© n'est pas dĂ©sactivĂ©e.

ÉnumĂ©ration

bash
# Get SQL instances
gcloud sql instances list
gcloud sql instances describe <inst-name> # get IPs, CACert, settings

# Get database names inside an instance (like information_schema, sys...)
gcloud sql databases list --instance <intance-name>
gcloud sql databases describe <db-name> --instance <intance-name>

# Get usernames inside the db instance
gcloud sql users list --instance <intance-name>

# Backups
gcloud sql backups list --instance <intance-name>
gcloud sql backups describe <backup-name> --instance <intance-name>

Enum non authentifié

GCP - Cloud SQL Unauthenticated Enum

Post exploitation

GCP - Cloud SQL Post Exploitation

Persistance

GCP - Cloud SQL Persistence

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks