GCP - Cloud SQL Enum

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert Red Team AWS de HackTricks)!

Autres façons de soutenir HackTricks :

Informations de base

Google Cloud SQL est un service géré qui simplifie la configuration, la maintenance et l'administration de bases de données relationnelles telles que MySQL, PostgreSQL et SQL Server sur la plateforme Google Cloud, éliminant la nécessité de gérer des tâches telles que la provision de matériel, la configuration de la base de données, le patching et les sauvegardes.

Les principales caractéristiques de Google Cloud SQL comprennent :

  1. Entièrement géré : Google Cloud SQL est un service entièrement géré, ce qui signifie que Google gère les tâches de maintenance de la base de données telles que le patching, les mises à jour, les sauvegardes et la configuration.

  2. Scalabilité : Il offre la possibilité de mettre à l'échelle la capacité de stockage de votre base de données et les ressources de calcul, souvent sans temps d'arrêt.

  3. Haute disponibilité : Offre des configurations de haute disponibilité, garantissant que vos services de base de données sont fiables et peuvent résister aux 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'identité et d'accès (IAM) et l'isolation réseau en utilisant des adresses IP privées et des 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 de manière transparente avec d'autres services Google Cloud, offrant une solution complète pour la construction, 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.

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 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 simplement le caractère "a" :

Il est également possible de configurer une politique de mot de passe exigeant une longueur, une complexité, la désactivation de la réutilisation et la 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, il est bien sûr 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 doivent être autorisées à se connecter à la base de données

  • Chemin privé : Si la base de données 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 conserver.

  • 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 base de données ne pourra pas être supprimée tant que cette fonctionnalité est activé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>

Énumération non authentifiée

pageGCP - Cloud SQL Unauthenticated Enum

Post-exploitation

pageGCP - Cloud SQL Post Exploitation

Persistance

pageGCP - Cloud SQL Persistence
Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks :

Dernière mise à jour