GCP - Compute Privesc

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

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

Обчислення

Для отримання додаткової інформації про Обчислення та VPC (мережу) в GCP перевірте:

pageGCP - Compute Enum

compute.projects.setCommonInstanceMetadata

З цим дозволом ви можете змінювати інформацію про метадані екземпляра та змінювати авторизовані ключі користувача, або створювати нового користувача з sudo правами. Таким чином, ви зможете виконати SSH на будь-якому екземплярі віртуальної машини та вкрасти Обліковий запис служби GCP, з яким працює екземпляр. Обмеження:

  • Зауважте, що Облікові записи служби GCP, які працюють на екземплярах віртуальних машин, за замовчуванням мають дуже обмежений обсяг

  • Вам потрібно мати можливість зв'язатися з SSH сервером для входу

Для отримання додаткової інформації про те, як використовувати цей дозвіл, перевірте:

pageGCP - Add Custom SSH Metadata

compute.instances.setMetadata

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

compute.instances.setIamPolicy

Цей тип дозволу дозволить вам надати собі роль з попередніми дозволами та підвищити привілеї, зловживаючи ними.

compute.instances.osLogin

Якщо OSLogin увімкнено на екземплярі, з цим дозволом ви можете просто виконати gcloud compute ssh [ЕКЗЕМПЛЯР] та підключитися до екземпляра. Ви не матимете привілеї root всередині екземпляра.

compute.instances.osAdminLogin

Якщо OSLogin увімкнено на екземплярі, з цим дозволом ви можете просто виконати gcloud compute ssh [ЕКЗЕМПЛЯР] та підключитися до екземпляра. У вас буде привілеї root всередині екземпляра.

compute.instances.create,iam.serviceAccounts.actAs, compute.disks.create, compute.instances.create, compute.instances.setMetadata, compute.instances.setServiceAccount, compute.subnetworks.use, compute.subnetworks.useExternalIp

Можливо створити віртуальну машину з призначеним Обліковим записом служби та вкрасти токен облікового запису служби, отримавши доступ до метаданих для підвищення привілеїв до нього.

Скрипт вразливості для цього методу можна знайти тут.

osconfig.patchDeployments.create | osconfig.patchJobs.exec

Якщо у вас є дозволи osconfig.patchDeployments.create або osconfig.patchJobs.exec, ви можете створити роботу або розгортання патча. Це дозволить вам рухатися бічно в середовищі та отримати виконання коду на всіх екземплярах обчислень у межах проекту.

Якщо ви хочете вручну використовувати це, вам потрібно створити або роботу з патчем або розгортання для роботи з патчем виконайте:

gcloud compute os-config patch-jobs execute --file=patch.json

Для розгортання патч-розгортання:

gcloud compute os-config patch-deployments create my-update --file=patch.json

Існують автоматизовані інструменти, такі як patchy, які дозволяють виявляти недоліки дозволів та автоматично рухатися бічно.

Ви також можете використовувати це для постійності.

compute.machineImages.setIamPolicy

Надайте собі додаткові дозволи до образу обчислення.

compute.snapshots.setIamPolicy

Надайте собі додаткові дозволи до знімка диска.

compute.disks.setIamPolicy

Надайте собі додаткові дозволи до диска.

Обхід обмежень доступу

За цим посиланням ви знайдете деякі ідеї для спроб обійти обмеження доступу.

Локальне підвищення привілеїв в екземплярі обчислень GCP

pageGCP - local privilege escalation ssh pivoting

Посилання

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

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

Last updated