GCP - Cloud Build Unauthenticated Enum

Підтримайте HackTricks

Cloud Build

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

GCP - Cloud Build Enum

cloudbuild.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, яке належить компанії.

Підтримайте HackTricks

Last updated