GCP - Cloud SQL Post Exploitation
Cloud SQL
Para obtener más información sobre Cloud SQL, consulta:
pageGCP - Cloud SQL Enumcloudsql.instances.update
, ( cloudsql.instances.get
)
cloudsql.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 la contraseña, no hay requisitos de IAM. Por lo tanto, una forma sencilla de obtener acceso, suponiendo que la base de datos tenga 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 para qué sirven los permisos cloudsql.instances.connect
y `cloudsql.instances.login. Si lo sabes, ¡envía un PR!
cloudsql.users.list
cloudsql.users.list
Obtener un listado de todos los usuarios de la base de datos:
cloudsql.users.create
cloudsql.users.create
Esta permiso permite crear un nuevo usuario dentro de la base de datos:
cloudsql.users.update
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
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 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 actualmente en ejecución.
cloudsql.backupRuns.delete
cloudsql.backupRuns.delete
Este permiso permite eliminar copias de seguridad:
cloudsql.instances.export
, storage.objects.create
cloudsql.instances.export
, storage.objects.create
Exporta una base de datos a un Bucket de Cloud Storage para que puedas acceder a ella desde allí:
cloudsql.instances.import
, storage.objects.get
cloudsql.instances.import
, storage.objects.get
Importar una base de datos (sobrescribir) desde un Bucket de Cloud Storage:
cloudsql.databases.delete
cloudsql.databases.delete
Eliminar una base de datos de la instancia de la base de datos:
Última actualización