GCP - Cloud SQL Enum

Support HackTricks

Basic Information

Google Cloud SQL é um serviço gerenciado que simplifica a configuração, manutenção e administração de bancos de dados relacionais como MySQL, PostgreSQL e SQL Server na Google Cloud Platform, eliminando a necessidade de lidar com tarefas como provisionamento de hardware, configuração de banco de dados, patching e backups.

As principais características do Google Cloud SQL incluem:

  1. Totalmente Gerenciado: O Google Cloud SQL é um serviço totalmente gerenciado, o que significa que o Google cuida das tarefas de manutenção do banco de dados, como patching, atualizações, backups e configuração.

  2. Escalabilidade: Ele oferece a capacidade de escalar a capacidade de armazenamento e os recursos computacionais do seu banco de dados, muitas vezes sem tempo de inatividade.

  3. Alta Disponibilidade: Oferece configurações de alta disponibilidade, garantindo que seus serviços de banco de dados sejam confiáveis e possam suportar falhas de zona ou instância.

  4. Segurança: Fornece recursos de segurança robustos, como criptografia de dados, controles de Identidade e Acesso (IAM) e isolamento de rede usando IPs privados e VPC.

  5. Backups e Recuperação: Suporta backups automáticos e recuperação em um ponto no tempo, ajudando a proteger e restaurar seus dados.

  6. Integração: Integra-se perfeitamente com outros serviços do Google Cloud, fornecendo uma solução abrangente para construir, implantar e gerenciar aplicativos.

  7. Desempenho: Oferece métricas de desempenho e diagnósticos para monitorar, solucionar problemas e melhorar o desempenho do banco de dados.

Password

Na console web, o Cloud SQL permite que o usuário defina a senha do banco de dados, também há um recurso de geração, mas o mais importante, MySQL permite deixar uma senha em branco e todos eles permitem definir como senha apenas o caractere "a":

Também é possível configurar uma política de senha que exige comprimento, complexidade, desabilitar reutilização e desabilitar nome de usuário na senha. Todos estão desabilitados por padrão.

SQL Server pode ser configurado com Autenticação do Active Directory.

Zone Availability

O banco de dados pode estar disponível em 1 zona ou em várias, claro, é recomendado ter bancos de dados importantes em várias zonas.

Encryption

Por padrão, uma chave de criptografia gerenciada pelo Google é usada, mas também é possível selecionar uma chave de criptografia gerenciada pelo cliente (CMEK).

Connections

  • IP Privado: Indique a rede VPC e o banco de dados receberá um IP privado dentro da rede

  • IP Público: O banco de dados receberá um IP público, mas por padrão ninguém poderá se conectar

  • Redes autorizadas: Indique os intervalos de IP públicos que devem ser permitidos para se conectar ao banco de dados

  • Caminho Privado: Se o DB estiver conectado em alguma VPC, é possível habilitar esta opção e dar acesso a outros serviços GCP como BigQuery sobre ele

Data Protection

  • Backups diários: Realiza backups automáticos diários e indica o número de backups que você deseja manter.

  • Recuperação em um ponto no tempo: Permite recuperar dados de um ponto específico no tempo, até uma fração de segundo.

  • Proteção contra exclusão: Se habilitado, o DB não poderá ser excluído até que este recurso seja desabilitado.

Enumeration

# Get SQL instances
gcloud sql instances list
gcloud sql instances describe <inst-name> # get IPs, CACert, settings

# Get database names inside an instance (like information_schema, sys...)
gcloud sql databases list --instance <intance-name>
gcloud sql databases describe <db-name> --instance <intance-name>

# Get usernames inside the db instance
gcloud sql users list --instance <intance-name>

# Backups
gcloud sql backups list --instance <intance-name>
gcloud sql backups describe <backup-name> --instance <intance-name>

Enum Não Autenticado

Pós Exploração

Persistência

Support HackTricks

Last updated