GCP - Run Privesc
Cloud Run
Для отримання додаткової інформації про Cloud Run перегляньте:
run.services.create
, iam.serviceAccounts.actAs
, run.routes.invoke
run.services.create
, iam.serviceAccounts.actAs
, run.routes.invoke
Атакувальник з цими дозволами може створити сервіс запуску, що виконує довільний код (довільний Docker контейнер), прикріпити до нього обліковий запис служби та зробити код витік токена облікового запису служби з метаданих.
Скрипт вразливості для цього методу можна знайти тут, а Docker-образ можна знайти тут.
Зверніть увагу, що при використанні gcloud run deploy
замість простого створення сервісу потрібен дозвіл update
. Перевірте приклад тут.
run.services.update
, iam.serviceAccounts.actAs
run.services.update
, iam.serviceAccounts.actAs
Схоже на попереднє, але оновлення сервісу:
run.services.setIamPolicy
run.services.setIamPolicy
Надайте собі попередні дозволи на хмарний запуск.
run.jobs.create
, run.jobs.run
, (run.jobs.get
)
run.jobs.create
, run.jobs.run
, (run.jobs.get
)Запустіть завдання зі зворотнім shell, щоб вкрасти обліковий запис служби, вказаний у команді. Ви можете знайти експлойт тут.
run.jobs.update
,run.jobs.run
,iam.serviceaccounts.actAs
,(run.jobs.get
)
run.jobs.update
,run.jobs.run
,iam.serviceaccounts.actAs
,(run.jobs.get
)Аналогічно попередньому, можливо оновити завдання та оновити SA, команду та виконати її:
run.jobs.setIamPolicy
run.jobs.setIamPolicy
Надайте собі попередні дозволи на Cloud Jobs.
References
Last updated