GCP - Cloud SQL Post Exploitation
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)
Cloud SQL
Para más información sobre Cloud SQL, consulta:
GCP - 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 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
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:
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)
Last updated