GCP - Cloud SQL Post Exploitation
Tip
Aprenda e pratique Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
Cloud SQL
Para mais informações sobre Cloud SQL veja:
cloudsql.instances.update, ( cloudsql.instances.get)
Para se conectar aos bancos de dados você apenas precisa de acesso à porta do banco de dados e conhecer o username e o password, não há requisitos de IAM. Portanto, uma maneira fácil de obter acesso, supondo que o banco de dados tenha um endereço IP público, é atualizar as redes permitidas e permitir que o seu próprio IP tenha acesso.
Permitir seu IP e conectar ao banco de dados
```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>
Também é possível usar **`--no-backup`** para **interromper os backups** do banco de dados.
Como esses são os requisitos, não tenho certeza completa sobre para que servem as permissões **`cloudsql.instances.connect`** e **`cloudsql.instances.login`**. Se você souber, envie um PR!
### `cloudsql.users.list`
Obtenha uma **lista de todos os usuários** do banco de dados:
<details>
<summary>Listar usuários do banco de dados</summary>
```bash
gcloud sql users list --instance <intance-name>
cloudsql.users.create
Esta permissão permite criar um novo usuário dentro do banco de dados:
Criar usuário do banco de dados
```bash gcloud sql users createcloudsql.users.update
Essa permissão permite atualizar o usuário dentro do banco de dados. Por exemplo, você poderia alterar sua senha:
Atualizar senha do usuário
```bash gcloud sql users set-passwordcloudsql.instances.restoreBackup, cloudsql.backupRuns.get
Backups podem conter informações sensíveis antigas, então é interessante verificá-los.
Restaurar um backup dentro de um banco de dados:
Restaurar backup do banco de dados
```bash gcloud sql backups restorePara fazer isso de maneira mais stealth, é recomendado criar uma nova instância SQL e recuperar os dados lá, em vez de nos bancos de dados atualmente em execução.
cloudsql.backupRuns.delete
Esta permissão permite excluir backups:
Excluir backup
```bash gcloud sql backups deletecloudsql.instances.export, storage.objects.create
Exportar um banco de dados para um Cloud Storage Bucket para que você possa acessá-lo a partir daí:
Exportar banco de dados para um Cloud Storage Bucket
```bash # Export sql format, it could also be csv and bak gcloud sql export sqlcloudsql.instances.import, storage.objects.get
Importar um banco de dados (sobrescrever) de um Cloud Storage Bucket:
Importar banco de dados do bucket
```bash # Import format SQL, you could also import formats bak and csv gcloud sql import sqlcloudsql.databases.delete
Excluir um banco de dados da instância do banco de dados:
Excluir banco de dados
```bash gcloud sql databases deleteTip
Aprenda e pratique Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
HackTricks Cloud

