GCP - Cloud Build Unauthenticated Enum
Cloud Build
Для отримання додаткової інформації про Cloud Build перегляньте:
GCP - Cloud Build Enumcloudbuild.yml
Якщо ви отримали доступ на запис до репозиторію, що містить файл з ім'ям cloudbuild.yml
, ви можете підставити цей файл, який вказує команди, які будуть виконані всередині Cloud Build та витягнути секрети, підставити те, що робиться, а також підставити обліковий запис служби Cloud Build.
Зверніть увагу, що у GCP є опція, що дозволяє адміністраторам контролювати виконання систем збірки зовнішніми PR через "Контроль коментарів". Контроль коментарів - це функція, за допомогою якої співробітники/власники проекту повинні залишити коментар " /gcbrun " для запуску збірки проти PR, і використання цієї функції не дозволяє нікому з Інтернету запускати ваші системи збірки.
Для отримання додаткової інформації ви можете переглянути сторінку про атаку на дії Github (схоже на це):
Abusing Github ActionsСхвалення PR
Коли тригер - PR, оскільки будь-хто може виконувати PR до публічних репозиторіїв, було б дуже небезпечно просто дозволити виконання тригера з будь-яким PR. Тому, за замовчуванням, виконання буде автоматичним для власників та співробітників, і для виконання тригера з PR інших користувачів власник або співробітник повинен залишити коментар "/gcbrun".
Отже, якщо це встановлено як Не потрібно
, зловмисник може виконати PR до гілки, що спричинить виконання, додавши зловмисний код в файл cloudbuild.yml
та підставити виконання cloudbuild (зауважте, що cloudbuild завантажить код З PR, тому він виконає зловмисний cloudbuild.yml
).
Більше того, легко побачити, якщо потрібно виконати деяке виконання cloudbuild, коли ви надсилаєте PR, оскільки це з'являється в Github:
Таким чином, навіть якщо cloudbuild не виконується, зловмисник зможе побачити ім'я проекту проекту GCP, яке належить компанії.
Last updated