GCP - Cloud SQL Post Exploitation
Cloud SQL
Für weitere Informationen zu Cloud SQL siehe:
pageGCP - Cloud SQL Enumcloudsql.instances.update
, ( cloudsql.instances.get
)
cloudsql.instances.update
, ( cloudsql.instances.get
)Um sich mit den Datenbanken zu verbinden, benötigen Sie lediglich Zugriff auf den Datenbankport und kennen den Benutzernamen und das Passwort, es gibt keine IAM-Anforderungen. Ein einfacher Weg, um Zugriff zu erhalten, vorausgesetzt, die Datenbank hat eine öffentliche IP-Adresse, besteht darin, die erlaubten Netzwerke zu aktualisieren und Ihre eigene IP-Adresse zuzulassen, um darauf zuzugreifen.
Es ist auch möglich, --no-backup
zu verwenden, um die Backups der Datenbank zu unterbrechen.
Da dies die Anforderungen sind, bin ich mir nicht ganz sicher, wofür die Berechtigungen cloudsql.instances.connect
und cloudsql.instances.login
sind. Wenn Sie es wissen, senden Sie einen PR!
cloudsql.users.list
cloudsql.users.list
Erhalten Sie eine Liste aller Benutzer der Datenbank:
cloudsql.users.create
cloudsql.users.create
Diese Berechtigung ermöglicht es, einen neuen Benutzer innerhalb der Datenbank zu erstellen:
cloudsql.users.update
cloudsql.users.update
Diese Berechtigung ermöglicht es, Benutzer innerhalb der Datenbank zu aktualisieren. Zum Beispiel könnten Sie das Passwort ändern:
```bash gcloud sql users set-password --instance --password ``` ### `cloudsql.instances.restoreBackup`, `cloudsql.backupRuns.get`
Backups können alte sensible Informationen enthalten, daher ist es interessant, sie zu überprüfen. Stellen Sie ein Backup innerhalb einer Datenbank wieder her:
Um dies auf eine unauffälligere Weise zu tun, wird empfohlen, eine neue SQL-Instanz zu erstellen und die Daten dort wiederherzustellen, anstatt dies in den aktuell laufenden Datenbanken zu tun.
cloudsql.backupRuns.delete
cloudsql.backupRuns.delete
Diese Berechtigung ermöglicht 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
Importiere 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