GCP - Cloud SQL Enum

Aprende hacking en AWS desde cero hasta experto con htARTE (Experto en Equipos Rojos de HackTricks en AWS)!

Otras formas de apoyar a 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 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 informáticos de tu base de datos, a menudo sin tiempo de inactividad.

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

  4. Seguridad: Proporciona funciones de seguridad sólidas como cifrado de datos, controles de Identidad y Acceso (IAM) y aislamiento de red utilizando IPs privadas y VPC.

  5. Copias de Seguridad y Recuperación: Admite copias de seguridad automáticas y recuperación a un punto en el tiempo, ayudándote a proteger y restaurar tus datos.

  6. Integración: Se integra perfectamente con otros servicios de Google Cloud, proporcionando una solución integral para construir, implementar 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 para generarla, pero lo más importante es que MySQL permite dejar una contraseña vacía y todas ellas permiten establecer como contraseña simplemente el carácter "a":

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

SQL Server se puede configurar con Autenticación de Directorio Activo.

Disponibilidad de Zona

La base de datos puede estar disponible en 1 zona o en varias, 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: Indica 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: Indica los rangos de IP públicos que deben estar permitidos para conectarse a la base de datos.

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

Protección de Datos

  • Copias de seguridad diarias: Realiza copias de seguridad automáticas diarias e indica la cantidad de copias de seguridad que deseas mantener.

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

  • Protección de Eliminación: Si se habilita, la BD no podrá ser eliminada hasta que esta función se desactive.

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 sin autenticación

Post Explotación

Persistencia

Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Última actualización