GCP - Cloud SQL Enum

Support HackTricks

Información Básica

Google Cloud SQL es un servicio gestionado que simplifica la configuración, mantenimiento y administración de bases de datos relacionales como MySQL, PostgreSQL y SQL Server en Google Cloud Platform, eliminando la necesidad de manejar tareas como aprovisionamiento de hardware, configuración de bases de datos, parches y copias de seguridad.

Las características clave de Google Cloud SQL incluyen:

  1. Totalmente Gestionado: Google Cloud SQL es un servicio totalmente gestionado, lo que significa que Google se encarga de las tareas de mantenimiento de la base de datos como parches, actualizaciones, copias de seguridad y configuración.

  2. Escalabilidad: Proporciona la capacidad de escalar la capacidad de almacenamiento y los recursos de computación de su base de datos, a menudo sin tiempo de inactividad.

  3. Alta Disponibilidad: Ofrece configuraciones de alta disponibilidad, asegurando que sus servicios de base de datos sean confiables y puedan resistir fallos de zona o instancia.

  4. Seguridad: Proporciona características de seguridad robustas como cifrado de datos, controles de Identidad y Gestión de Accesos (IAM), y aislamiento de red utilizando IPs privadas y VPC.

  5. Copias de Seguridad y Recuperación: Soporta copias de seguridad automáticas y recuperación en el tiempo, ayudándole a proteger y restaurar sus datos.

  6. Integración: Se integra sin problemas con otros servicios de Google Cloud, proporcionando una solución integral para construir, desplegar y gestionar aplicaciones.

  7. Rendimiento: Ofrece métricas de rendimiento y diagnósticos para monitorear, solucionar problemas y mejorar el rendimiento de la base de datos.

Contraseña

En la consola web, Cloud SQL permite al usuario establecer la contraseña de la base de datos, también hay una función de generación, pero lo más importante, MySQL permite dejar una contraseña vacía y todos ellos permiten establecer como contraseña solo el carácter "a":

También es posible configurar una política de contraseñas que requiera longitud, complejidad, deshabilitar reutilización y deshabilitar nombre de usuario en la contraseña. Todos están deshabilitados por defecto.

SQL Server puede ser configurado con Autenticación de Active Directory.

Disponibilidad de Zona

La base de datos puede estar disponible en 1 zona o en múltiples, por supuesto, se recomienda tener bases de datos importantes en múltiples zonas.

Cifrado

Por defecto se utiliza una clave de cifrado gestionada por Google, pero también es posible seleccionar una clave de cifrado gestionada por el cliente (CMEK).

Conexiones

  • IP Privada: Indique la red VPC y la base de datos obtendrá una IP privada dentro de la red.

  • IP Pública: La base de datos obtendrá una IP pública, pero por defecto nadie podrá conectarse.

  • Redes Autorizadas: Indique los rangos de IP públicos que deberían estar permitidos para conectarse a la base de datos.

  • Ruta Privada: Si la base de datos está conectada en alguna VPC, es posible habilitar esta opción y dar acceso a otros servicios de GCP como BigQuery a través de ella.

Protección de Datos

  • Copias de seguridad diarias: Realiza copias de seguridad automáticas diarias e indica el número de copias de seguridad que deseas mantener.

  • Recuperación en el tiempo: Te permite recuperar datos de un punto específico en el tiempo, hasta una fracción de segundo.

  • Protección contra Eliminación: Si está habilitado, la base de datos no podrá ser eliminada hasta que esta función sea deshabilitada.

Enumeración

# 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>

Enumeración No Autenticada

Post Explotación

Persistencia

Apoya a HackTricks

Last updated