GCP - Cloud SQL Enum

Support HackTricks

Grundinformationen

Google Cloud SQL ist ein verwalteter Dienst, der die Einrichtung, Wartung und Verwaltung von relationalen Datenbanken wie MySQL, PostgreSQL und SQL Server auf der Google Cloud Platform vereinfacht und die Notwendigkeit beseitigt, Aufgaben wie Hardwarebereitstellung, Datenbankeinrichtung, Patchen und Backups zu übernehmen.

Wichtige Funktionen von Google Cloud SQL sind:

  1. Vollständig verwaltet: Google Cloud SQL ist ein vollständig verwalteter Dienst, was bedeutet, dass Google Wartungsaufgaben für die Datenbank wie Patchen, Updates, Backups und Konfiguration übernimmt.

  2. Skalierbarkeit: Es bietet die Möglichkeit, die Speicherkapazität und die Rechenressourcen Ihrer Datenbank zu skalieren, oft ohne Ausfallzeiten.

  3. Hohe Verfügbarkeit: Bietet Konfigurationen für hohe Verfügbarkeit, die sicherstellen, dass Ihre Datenbankdienste zuverlässig sind und Ausfälle von Zonen oder Instanzen standhalten können.

  4. Sicherheit: Bietet robuste Sicherheitsfunktionen wie Datenverschlüsselung, Identitäts- und Zugriffsmanagement (IAM) und Netzwerkisolierung mit privaten IPs und VPC.

  5. Backups und Wiederherstellung: Unterstützt automatische Backups und die Wiederherstellung zu einem bestimmten Zeitpunkt, um Ihre Daten zu schützen und wiederherzustellen.

  6. Integration: Integriert sich nahtlos mit anderen Google Cloud-Diensten und bietet eine umfassende Lösung zum Erstellen, Bereitstellen und Verwalten von Anwendungen.

  7. Leistung: Bietet Leistungsmetriken und Diagnosen zur Überwachung, Fehlersuche und Verbesserung der Datenbankleistung.

Passwort

In der Webkonsole ermöglicht Cloud SQL dem Benutzer, das Passwort der Datenbank festzulegen, es gibt auch eine Generierungsfunktion, aber am wichtigsten ist, dass MySQL es erlaubt, ein leeres Passwort zu lassen, und alle erlauben, als Passwort nur das Zeichen "a" festzulegen:

Es ist auch möglich, eine Passwortpolitik zu konfigurieren, die Länge, Komplexität, Deaktivierung der Wiederverwendung und Deaktivierung des Benutzernamens im Passwort erfordert. Alle sind standardmäßig deaktiviert.

SQL Server kann mit Active Directory-Authentifizierung konfiguriert werden.

Zonenverfügbarkeit

Die Datenbank kann in 1 Zone oder in mehreren verfügbar sein, natürlich wird empfohlen, wichtige Datenbanken in mehreren Zonen zu haben.

Verschlüsselung

Standardmäßig wird ein von Google verwalteter Verschlüsselungsschlüssel verwendet, es ist jedoch auch möglich, einen vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) auszuwählen.

Verbindungen

  • Private IP: Geben Sie das VPC-Netzwerk an, und die Datenbank erhält eine private IP innerhalb des Netzwerks.

  • Öffentliche IP: Die Datenbank erhält eine öffentliche IP, aber standardmäßig kann niemand eine Verbindung herstellen.

  • Autorisierte Netzwerke: Geben Sie öffentliche IP-Bereiche an, die eine Verbindung zur Datenbank herstellen dürfen.

  • Privater Pfad: Wenn die DB in einem VPC verbunden ist, ist es möglich, diese Option zu aktivieren und anderen GCP-Diensten wie BigQuery den Zugriff darauf zu gewähren.

Datenschutz

  • Tägliche Backups: Führen Sie automatische tägliche Backups durch und geben Sie die Anzahl der Backups an, die Sie aufbewahren möchten.

  • Wiederherstellung zu einem bestimmten Zeitpunkt: Ermöglicht es Ihnen, Daten von einem bestimmten Zeitpunkt, bis zu einem Bruchteil einer Sekunde, wiederherzustellen.

  • Löschschutz: Wenn aktiviert, kann die DB nicht gelöscht werden, bis diese Funktion deaktiviert ist.

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>

Unauthenticated Enum

Post Exploitation

Persistence

Support HackTricks

Last updated