GCP - Cloud SQL Post Exploitation

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 지원하기

Cloud SQL

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

GCP - Cloud SQL Enum

cloudsql.instances.update, ( cloudsql.instances.get)

데이터베이스에 연결하려면 데이터베이스 포트에 대한 접근 권한usernamepassword만 알고 있으면 됩니다, IAM 요구사항은 없습니다. 따라서 데이터베이스에 퍼블릭 IP 주소가 있는 경우, 허용된 네트워크를 업데이트하여 자신의 IP 주소가 접근할 수 있도록 허용하는 것이 쉬운 방법입니다.

자신의 IP를 허용하고 데이터베이스에 연결 ```bash # 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

</details>

데이터베이스 백업을 **중단**하기 위해 **`--no-backup`**을(를) 사용할 수도 있습니다.

이 요구사항들로는 **`cloudsql.instances.connect`**와 **`cloudsql.instances.login`** 권한이 정확히 어떤 용도인지 완전히 확신하지 못합니다. 아시면 PR을 보내주세요!

### `cloudsql.users.list`

데이터베이스의 **모든 사용자 목록**을 가져옵니다:

<details>

<summary>데이터베이스 사용자 목록</summary>
```bash
gcloud sql users list --instance <intance-name>

cloudsql.users.create

이 권한은 데이터베이스 내부에 새 사용자를 생성할 수 있게 합니다:

데이터베이스 사용자 생성 ```bash gcloud sql users create --instance --password ```

cloudsql.users.update

이 권한은 데이터베이스 내부의 사용자를 업데이트할 수 있게 해줍니다. 예를 들어, 비밀번호를 변경할 수 있습니다:

사용자 비밀번호 변경 ```bash gcloud sql users set-password --instance --password ```

cloudsql.instances.restoreBackup, cloudsql.backupRuns.get

백업에는 오래된 민감한 정보가 포함될 수 있으므로 확인해보는 것이 흥미롭습니다.
데이터베이스 내부에서 백업을 복원:

데이터베이스 백업 복원 ```bash gcloud sql backups restore --restore-instance ```

보다 은밀한 방식으로 수행하려면 현재 실행 중인 데이터베이스에서 복구하는 대신 새 SQL 인스턴스를 생성하고 그곳에서 데이터를 복원하는 것이 권장됩니다.

cloudsql.backupRuns.delete

이 권한은 백업을 삭제할 수 있도록 허용합니다:

백업 삭제 ```bash gcloud sql backups delete --instance ```

cloudsql.instances.export, storage.objects.create

데이터베이스 내보내기: Cloud Storage Bucket으로 내보내어 거기에서 액세스할 수 있습니다:

버킷으로 데이터베이스 내보내기 ```bash # Export sql format, it could also be csv and bak gcloud sql export sql --database ```

cloudsql.instances.import, storage.objects.get

데이터베이스 가져오기 (덮어쓰기) Cloud Storage Bucket에서:

버킷에서 데이터베이스 가져오기 ```bash # Import format SQL, you could also import formats bak and csv gcloud sql import sql ```

cloudsql.databases.delete

DB 인스턴스에서 데이터베이스를 삭제합니다:

데이터베이스 삭제 ```bash gcloud sql databases delete --instance ```

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 지원하기