GCP - Cloud SQL Enum
Reading time: 5 minutes
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
Informazioni di Base
Google Cloud SQL è un servizio gestito che semplifica la configurazione, la manutenzione e l'amministrazione di database relazionali come MySQL, PostgreSQL e SQL Server su Google Cloud Platform, rimuovendo la necessità di gestire compiti come la fornitura dell'hardware, la configurazione del database, le patch e i backup.
Le caratteristiche principali di Google Cloud SQL includono:
- Completamente Gestito: Google Cloud SQL è un servizio completamente gestito, il che significa che Google si occupa delle attività di manutenzione del database come patching, aggiornamenti, backup e configurazione.
- Scalabilità: Fornisce la possibilità di scalare la capacità di archiviazione e le risorse di calcolo del tuo database, spesso senza tempi di inattività.
- Alta Disponibilità: Offre configurazioni ad alta disponibilità, garantendo che i servizi del tuo database siano affidabili e possano resistere a guasti di zona o di istanza.
- Sicurezza: Fornisce robuste funzionalità di sicurezza come la crittografia dei dati, controlli di Identity and Access Management (IAM) e isolamento della rete utilizzando IP privati e VPC.
- Backup e Ripristino: Supporta backup automatici e ripristino a un punto nel tempo, aiutandoti a proteggere e ripristinare i tuoi dati.
- Integrazione: Si integra perfettamente con altri servizi Google Cloud, fornendo una soluzione completa per costruire, distribuire e gestire applicazioni.
- Prestazioni: Offre metriche di prestazione e diagnostica per monitorare, risolvere problemi e migliorare le prestazioni del database.
Password
Nella console web, Cloud SQL consente all'utente di impostare la password del database, c'è anche una funzione di generazione, ma soprattutto, MySQL consente di lasciare una password vuota e tutti consentono di impostare come password solo il carattere "a":
.png)
È anche possibile configurare una politica delle password che richiede lunghezza, complessità, disabilitazione del riutilizzo e disabilitazione del nome utente nella password. Tutti sono disabilitati per impostazione predefinita.
SQL Server può essere configurato con Autenticazione di Active Directory.
Disponibilità della Zona
Il database può essere disponibile in 1 zona o in più, ovviamente, è consigliato avere database importanti in più zone.
Crittografia
Per impostazione predefinita viene utilizzata una chiave di crittografia gestita da Google, ma è anche possibile selezionare una chiave di crittografia gestita dal cliente (CMEK).
Connessioni
- IP Privato: Indica la rete VPC e il database otterrà un IP privato all'interno della rete
- IP Pubblico: Il database otterrà un IP pubblico, ma per impostazione predefinita nessuno potrà connettersi
- Reti Autorizzate: Indica gli intervalli di IP pubblici che dovrebbero essere autorizzati a connettersi al database
- Percorso Privato: Se il DB è connesso a qualche VPC, è possibile abilitare questa opzione e dare ad altri servizi GCP come BigQuery accesso su di esso
.png)
Protezione dei Dati
- Backup giornalieri: Esegui backup automatici giornalieri e indica il numero di backup che desideri mantenere.
- Ripristino a un punto nel tempo: Ti consente di recuperare dati da un punto specifico nel tempo, fino a una frazione di secondo.
- Protezione dalla Cancellazione: Se abilitata, il DB non potrà essere cancellato fino a quando questa funzione non sarà disabilitata.
Enumerazione
# 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 non autenticato
GCP - Cloud SQL Unauthenticated Enum
Post Sfruttamento
GCP - Cloud SQL Post Exploitation
Persistenza
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.