GCP - Cloud Build Unauthenticated Enum

Support HackTricks

Cloud Build

Для отримання додаткової інформації про Cloud Build перегляньте:

GCP - Cloud Build Enum

cloudbuild.yml

Якщо ви отримали доступ до запису в репозиторії, що містить файл з назвою cloudbuild.yml, ви можете встановити бекдор у цей файл, який вказує на команди, що будуть виконані всередині Cloud Build, і ексфільтрувати секрети, скомпрометувати те, що робиться, а також скомпрометувати обліковий запис служби Cloud Build.

Зверніть увагу, що GCP має можливість дозволити адміністраторам контролювати виконання системи збірки з зовнішніх PR через "Comment Control". Comment Control - це функція, де співпрацівники/власники проекту повинні прокоментувати “/gcbrun”, щоб запустити збірку проти PR, і використання цієї функції в принципі запобігає будь-кому в Інтернеті запускати ваші системи збірки.

Для деякої пов'язаної інформації ви можете переглянути сторінку про те, як атакувати Github Actions (схоже на це):

Abusing Github Actions

PR Approvals

Коли тригером є PR, оскільки будь-хто може виконувати PR до публічних репозиторіїв, було б дуже небезпечно просто дозволити виконання тригера з будь-яким PR. Тому за замовчуванням виконання буде автоматичним лише для власників і співпрацівників, і для виконання тригера з PR інших користувачів власник або співпрацівник повинен прокоментувати /gcbrun.

Отже, якщо це встановлено на Not required, зловмисник може виконати PR до гілки, що запустить виконання, додавши виконання шкідливого коду до файлу cloudbuild.yml і скомпрометувати виконання cloudbuild (зверніть увагу, що cloudbuild завантажить код З PR, тому він виконає шкідливий cloudbuild.yml).

Більше того, легко побачити, чи потрібно виконати деяке виконання cloudbuild, коли ви надсилаєте PR, оскільки це з'являється в Github:

Тоді, навіть якщо cloudbuild не виконується, зловмисник зможе побачити назву проекту GCP, що належить компанії.

Support HackTricks

Last updated