GCP - Cloud SQL Post Exploitation
Cloud SQL
Cloud SQL에 대한 자세한 정보는 다음을 확인하세요:
GCP - Cloud SQL Enumcloudsql.instances.update
, ( cloudsql.instances.get
)
cloudsql.instances.update
, ( cloudsql.instances.get
)데이터베이스에 연결하려면 데이터베이스 포트에 액세스하고 사용자 이름과 암호를 알면 됩니다. IAM 요구 사항은 없습니다. 따라서, 데이터베이스가 공개 IP 주소를 가지고 있다고 가정하면, 허용된 네트워크를 업데이트하고 자신의 IP 주소를 액세스할 수 있도록 허용하는 것이 쉬운 방법입니다.
**--no-backup
**을 사용하여 데이터베이스의 백업을 방해할 수도 있습니다.
이 요구 사항들이 있기 때문에 cloudsql.instances.connect
및 cloudsql.instances.login
권한이 정확히 무엇을 위한 것인지 확실하지 않습니다. 알고 계시다면 PR을 보내주세요!
cloudsql.users.list
cloudsql.users.list
데이터베이스의 모든 사용자 목록을 얻습니다:
cloudsql.users.create
cloudsql.users.create
이 권한은 데이터베이스 내에서 새 사용자를 생성하는 것을 허용합니다:
cloudsql.users.update
cloudsql.users.update
이 권한은 데이터베이스 내의 사용자를 업데이트할 수 있게 합니다. 예를 들어, 비밀번호를 변경할 수 있습니다:
cloudsql.instances.restoreBackup
, cloudsql.backupRuns.get
cloudsql.instances.restoreBackup
, cloudsql.backupRuns.get
백업에는 이전 민감한 정보가 포함될 수 있으므로 확인하는 것이 흥미로울 수 있습니다. 데이터베이스 내에서 백업을 복원하세요:
더 은밀하게 작업하려면 현재 실행 중인 데이터베이스가 아닌 새 SQL 인스턴스를 생성하고 데이터를 복구하는 것이 좋습니다.
cloudsql.backupRuns.delete
cloudsql.backupRuns.delete
이 권한은 백업을 삭제할 수 있게 합니다.
cloudsql.instances.export
, storage.objects.create
cloudsql.instances.export
, storage.objects.create
데이터베이스를 내보내기하여 클라우드 스토리지 버킷에서 액세스할 수 있습니다:
cloudsql.instances.import
, storage.objects.get
cloudsql.instances.import
, storage.objects.get
클라우드 스토리지 버킷에서 데이터베이스를 가져옵니다 (덮어쓰기):
cloudsql.databases.delete
cloudsql.databases.delete
데이터베이스를 데이터베이스 인스턴스에서 삭제합니다:
Last updated