GCP - Cloud SQL Enum

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

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

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