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