GCP - Cloud SQL Enum

Support HackTricks

Basic Information

Google Cloud SQL 是一个托管服务,简化了在 Google Cloud Platform 上设置、维护和管理关系数据库(如 MySQL、PostgreSQL 和 SQL Server),消除了处理硬件配置、数据库设置、打补丁和备份等任务的需要。

Google Cloud SQL 的主要特点包括:

  1. 完全托管:Google Cloud SQL 是一个完全托管的服务,这意味着 Google 处理数据库维护任务,如打补丁、更新、备份和配置。

  2. 可扩展性:提供扩展数据库存储容量和计算资源的能力,通常无需停机。

  3. 高可用性:提供高可用性配置,确保您的数据库服务可靠,并能承受区域或实例故障。

  4. 安全性:提供强大的安全功能,如数据加密、身份和访问管理(IAM)控制,以及使用私有 IP 和 VPC 的网络隔离。

  5. 备份和恢复:支持自动备份和时间点恢复,帮助您保护和恢复数据。

  6. 集成:与其他 Google Cloud 服务无缝集成,提供构建、部署和管理应用程序的综合解决方案。

  7. 性能:提供性能指标和诊断工具,以监控、排除故障和改善数据库性能。

Password

在网络控制台中,Cloud SQL 允许用户设置数据库的密码,也有生成密码的功能,但最重要的是,MySQL 允许留空密码,所有数据库都允许将字符 "a" 设置为密码:

还可以配置密码策略,要求长度复杂性禁用重用禁用用户名作为密码。默认情况下,所有这些都是禁用的。

SQL Server 可以配置为使用 Active Directory 认证

Zone Availability

数据库可以在 1 个区域或多个区域中可用,当然,建议将重要数据库放在多个区域中。

Encryption

默认情况下使用 Google 管理的加密密钥,但也可以选择客户管理的加密密钥 (CMEK)

Connections

  • Private IP:指示 VPC 网络,数据库将在网络内获得一个私有 IP

  • Public IP:数据库将获得一个公共 IP,但默认情况下无人能够连接

  • Authorized networks:指示应允许连接到数据库的公共IP 范围

  • Private Path:如果数据库连接在某个 VPC 中,可以启用此选项并给予其他 GCP 服务(如 BigQuery)访问权限

Data Protection

  • Daily backups:执行自动每日备份,并指示您希望保留的备份数量。

  • Point-in-time recovery:允许您从特定时间点恢复数据,精确到秒的分数。

  • Deletion Protection:如果启用,数据库将无法被删除,直到禁用此功能。

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>

未认证枚举

GCP - Cloud SQL Unauthenticated Enum

利用后

GCP - Cloud SQL Post Exploitation

持久性

GCP - Cloud SQL Persistence
支持 HackTricks

Last updated