GCP - Cloudbuild Privesc
cloudbuild
Для отримання додаткової інформації про Cloud Build перевірте:
GCP - Cloud Build Enumcloudbuild.builds.create
cloudbuild.builds.create
З цим дозволом ви можете відправити cloud build. Машина cloudbuild матиме у своєму файловій системі за замовчуванням токен облікового запису служби cloudbuild: <PROJECT_NUMBER>@cloudbuild.gserviceaccount.com
. Однак, ви можете вказати будь-який обліковий запис служби всередині проекту в конфігурації cloudbuild.
Тому ви можете просто змусити машину ексфільтрувати токен на ваш сервер або отримати зворотну оболонку всередині неї та отримати токен самостійно (файл, що містить токен, може змінюватися).
Ви можете знайти оригінальний скрипт експлойту тут на GitHub (але місце, звідки він бере токен, не працювало для мене). Тому перевірте скрипт для автоматизації створення, експлуатації та очищення вразливого середовища тут та python скрипт для отримання зворотної оболонки всередині машини cloudbuild і вкрадіть його тут (у коді ви можете знайти, як вказати інші облікові записи служб).
Для більш детального пояснення відвідайте https://rhinosecuritylabs.com/gcp/iam-privilege-escalation-gcp-cloudbuild/
cloudbuild.builds.update
cloudbuild.builds.update
Потенційно з цим дозволом ви зможете оновити cloud build і просто вкрасти токен облікового запису служби, як це було зроблено з попереднім дозволом (але, на жаль, на момент написання цього тексту я не зміг знайти спосіб викликати цей API).
TODO
cloudbuild.repositories.accessReadToken
cloudbuild.repositories.accessReadToken
З цим дозволом користувач може отримати токен доступу для читання, який використовується для доступу до репозиторію:
cloudbuild.repositories.accessReadWriteToken
cloudbuild.repositories.accessReadWriteToken
З цим дозволом користувач може отримати токен доступу для читання та запису, який використовується для доступу до репозиторію:
cloudbuild.connections.fetchLinkableRepositories
cloudbuild.connections.fetchLinkableRepositories
З цим дозволом ви можете отримати репозиторії, до яких має доступ з'єднання:
Last updated