GCP - Enumeração do Cloud SQL
Reading time: 5 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.
Informações Básicas
O 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:
- 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.
- Escalabilidade: Ele oferece a capacidade de escalar a capacidade de armazenamento e os recursos de computação do seu banco de dados, muitas vezes sem tempo de inatividade.
- 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.
- Segurança: Fornece recursos de segurança robustos, como criptografia de dados, controles de Gerenciamento de Identidade e Acesso (IAM) e isolamento de rede usando IPs privados e VPC.
- Backups e Recuperação: Suporta backups automáticos e recuperação em um ponto no tempo, ajudando a proteger e restaurar seus dados.
- Integração: Integra-se perfeitamente com outros serviços do Google Cloud, fornecendo uma solução abrangente para construir, implantar e gerenciar aplicativos.
- Desempenho: Oferece métricas de desempenho e diagnósticos para monitorar, solucionar problemas e melhorar o desempenho do banco de dados.
Senha
No console da 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":
.png)
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.
Disponibilidade de Zona
O banco de dados pode estar disponível em 1 zona ou em múltiplas, claro, é recomendado ter bancos de dados importantes em múltiplas zonas.
Criptografia
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).
Conexões
- 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 do GCP, como BigQuery, sobre ele
.png)
Proteção de Dados
- 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.
Enumeração
# 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
GCP - Cloud SQL Unauthenticated Enum
Pós Exploração
GCP - Cloud SQL Post Exploitation
Persistência
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.