GCP - Cloud SQL Post Exploitation
Last updated
Last updated
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)
Para más información sobre Cloud SQL consulta:
GCP - Cloud SQL Enumcloudsql.instances.update
, ( cloudsql.instances.get
)Para conectarte a las bases de datos solo necesitas acceso al puerto de la base de datos y conocer el nombre de usuario y contraseña, no hay requisitos de IAM. Así que, una forma fácil de obtener acceso, suponiendo que la base de datos tiene una dirección IP pública, es actualizar las redes permitidas y permitir que tu propia dirección IP acceda a ella.
También es posible usar --no-backup
para interrumpir las copias de seguridad de la base de datos.
Dado que estos son los requisitos, no estoy completamente seguro de cuáles son los permisos cloudsql.instances.connect
y cloudsql.instances.login
. Si lo sabes, ¡envía un PR!
cloudsql.users.list
Obtén una lista de todos los usuarios de la base de datos:
cloudsql.users.create
Este permiso permite crear un nuevo usuario dentro de la base de datos:
cloudsql.users.update
Este permiso permite actualizar un usuario dentro de la base de datos. Por ejemplo, podrías cambiar su contraseña:
cloudsql.instances.restoreBackup
, cloudsql.backupRuns.get
Las copias de seguridad pueden contener información sensible antigua, por lo que es interesante revisarlas. Restaurar una copia de seguridad dentro de una base de datos:
Para hacerlo de una manera más sigilosa, se recomienda crear una nueva instancia de SQL y recuperar los datos allí en lugar de en las bases de datos que se están ejecutando actualmente.
cloudsql.backupRuns.delete
Este permiso permite eliminar copias de seguridad:
cloudsql.instances.export
, storage.objects.create
Exportar una base de datos a un Cloud Storage Bucket para que puedas acceder a ella desde allí:
cloudsql.instances.import
, storage.objects.get
Importar una base de datos (sobrescribir) desde un Bucket de Cloud Storage:
cloudsql.databases.delete
Eliminar una base de datos de la instancia de db:
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)