GCP - Cloud SQL Post Exploitation
Cloud SQL
Für weitere Informationen zu Cloud SQL siehe:
GCP - Cloud SQL Enumcloudsql.instances.update
, ( cloudsql.instances.get
)
cloudsql.instances.update
, ( cloudsql.instances.get
)Um eine Verbindung zu den Datenbanken herzustellen, benötigen Sie nur Zugriff auf den Datenbankport und müssen den Benutzernamen und das Passwort kennen, es gibt keine IAM-Anforderungen. Eine einfache Möglichkeit, Zugriff zu erhalten, vorausgesetzt, die Datenbank hat eine öffentliche IP-Adresse, besteht darin, die erlaubten Netzwerke zu aktualisieren und Ihre eigene IP-Adresse den Zugriff zu erlauben.
Es ist auch möglich, --no-backup
zu verwenden, um die Backups der Datenbank zu stören.
Da dies die Anforderungen sind, bin ich mir nicht ganz sicher, wofür die Berechtigungen cloudsql.instances.connect
und cloudsql.instances.login
gedacht sind. Wenn du es weißt, sende einen PR!
cloudsql.users.list
cloudsql.users.list
Erhalte eine Liste aller Benutzer der Datenbank:
cloudsql.users.create
cloudsql.users.create
Diese Berechtigung erlaubt es, einen neuen Benutzer innerhalb der Datenbank zu erstellen:
cloudsql.users.update
cloudsql.users.update
Diese Berechtigung erlaubt es, Benutzer innerhalb der Datenbank zu aktualisieren. Zum Beispiel könnten Sie das Passwort ändern:
cloudsql.instances.restoreBackup
, cloudsql.backupRuns.get
cloudsql.instances.restoreBackup
, cloudsql.backupRuns.get
Backups könnten alte sensible Informationen enthalten, daher ist es interessant, sie zu überprüfen. Stellen Sie ein Backup in einer Datenbank wieder:
Um es stealthier zu machen, wird empfohlen, eine neue SQL-Instanz zu erstellen und die Daten dort wiederherzustellen, anstatt in den derzeit laufenden Datenbanken.
cloudsql.backupRuns.delete
cloudsql.backupRuns.delete
Diese Berechtigung erlaubt das Löschen von Backups:
cloudsql.instances.export
, storage.objects.create
cloudsql.instances.export
, storage.objects.create
Exportieren Sie eine Datenbank in einen Cloud Storage Bucket, damit Sie von dort darauf zugreifen können:
cloudsql.instances.import
, storage.objects.get
cloudsql.instances.import
, storage.objects.get
Importieren Sie eine Datenbank (überschreiben) aus einem Cloud Storage-Bucket:
cloudsql.databases.delete
cloudsql.databases.delete
Löschen Sie eine Datenbank aus der DB-Instanz:
Last updated