GCP - Cloud SQL Enum

支持 HackTricks

基本信息

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

Google Cloud SQL 的关键特性包括:

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

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

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

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

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

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

  7. 性能:提供性能指标和诊断工具,用于监视、排除故障和改进数据库性能。

密码

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

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

SQL Server 可以配置为使用Active Directory 身份验证

区域可用性

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

加密

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

连接

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

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

  • 授权网络:指定应允许连接到数据库的公共 IP 范围

  • 私有路径:如果数据库连接在某个 VPC 中,可以启用此选项,并允许其他 GCP 服务(如 BigQuery)访问

数据保护

  • 每日备份:执行自动每日备份,并指定要保留的备份数量。

  • 按时间点恢复:允许您从特定时间点恢复数据,精确到秒的一部分。

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

枚举

# 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