GCP - Cloud SQL Enum

HackTricksのサポート

基本情報

Google Cloud SQLは、Google Cloud Platform上でMySQL、PostgreSQL、SQL Serverなどのリレーショナルデータベースを設定、維持、管理することを簡素化する管理されたサービスです。ハードウェアのプロビジョニング、データベースのセットアップ、パッチ適用、バックアップなどのタスクを処理する必要がなくなります。

Google Cloud SQLの主な機能は次のとおりです:

  1. 完全管理: Google Cloud SQLは完全に管理されたサービスであり、パッチ適用、更新、バックアップ、構成などのデータベースのメンテナンスタスクをGoogleが処理します。

  2. スケーラビリティ: データベースのストレージ容量とコンピューティングリソースをスケーリングする機能を提供し、通常はダウンタイムなしに行います。

  3. 高可用性: ゾーンやインスタンスの障害に耐えられるように、高可用性構成を提供します。

  4. セキュリティ: データの暗号化、Identity and Access Management (IAM)コントロール、プライベートIPとVPCを使用したネットワーク分離など、堅牢なセキュリティ機能を提供します。

  5. バックアップとリカバリ: 自動バックアップと時点ごとのリカバリをサポートし、データを保護し復元するのに役立ちます。

  6. 統合: 他のGoogle Cloudサービスとシームレスに統合し、アプリケーションの構築、展開、管理の包括的なソリューションを提供します。

  7. パフォーマンス: データベースのパフォーマンスを監視、トラブルシューティング、改善するためのパフォーマンスメトリクスと診断を提供します。

パスワード

Webコンソールでは、Cloud SQLはデータベースのパスワードを設定することができ、生成機能もありますが、最も重要なのは、MySQLでは空のパスワードを設定したり、パスワードとして単一の文字「a」を設定することができます。

また、パスワードポリシーを構成することも可能で、長さ複雑さ再利用の無効化パスワードにユーザー名を使用しないようにすることができます。これらはすべてデフォルトで無効になっています。

SQL ServerActive Directory認証で構成できます。

ゾーンの可用性

データベースは1つのゾーンまたは複数のゾーンで利用可能であり、重要なデータベースは複数のゾーンに配置することが推奨されます。

暗号化

デフォルトではGoogleが管理する暗号化キーが使用されますが、顧客管理型暗号化キー (CMEK) を選択することも可能です。

接続

  • プライベートIP: VPCネットワークを示し、データベースはネットワーク内でプライベートIPを取得します

  • パブリックIP: データベースはパブリックIPを取得しますが、デフォルトでは誰も接続できません

  • 許可されたネットワーク: データベースに接続を許可するIP範囲を示します

  • プライベートパス: DBがVPCに接続されている場合、このオプションを有効にしてBigQueryなどの他のGCPサービスにアクセスを提供できます

データ保護

  • デイリーバックアップ: 自動的なデイリーバックアップを実行し、維持したいバックアップの数を指定します。

  • 時点リカバリ: 特定の時点からデータを回復することができ、秒単位で指定できます。

  • 削除保護: 有効にすると、この機能が無効になるまでDBを削除できなくなります

列挙

# 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