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