GCP - Cloud SQL Enum

Support HackTricks

Basic Information

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 telles que la fourniture 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 telles que 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 telles que le chiffrement des données, les contrôles d'Identity and Access Management (IAM) et l'isolement réseau à l'aide d'IP privées et de 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 la création, le déploiement et la gestion d'applications.

  7. Performance : Offre des métriques de performance et des diagnostics pour surveiller, dépanner et améliorer les performances de la base de données.

Password

Dans la console web, Cloud SQL permet à l'utilisateur de définir le mot de passe de la base de données, il existe é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.

Zone Availability

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.

Encryption

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).

Connections

  • 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 dans un VPC, il est possible d'activer cette option et de donner accès à d'autres services GCP comme BigQuery

Data Protection

  • 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.

Enumeration

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

Post exploitation

Persistance

Soutenir HackTricks

Last updated