GCP - Sourcerepos Privesc

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Репозиторії джерел

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

pageGCP - Source Repositories Enum

source.repos.get

З цим дозволом можна завантажити репозиторій локально:

gcloud source repos clone <repo-name> --project=<project-uniq-name>

source.repos.update

Користувач з цим дозволом зможе писати код у репозиторії, клонованому за допомогою gcloud source repos clone <repo>. Проте слід зауважити, що цей дозвіл не може бути призначений для користувацьких ролей, тому його слід надати через попередньо визначену роль, таку як:

  • Власник

  • Редактор

  • Адміністратор репозиторію джерела (roles/source.admin)

  • Письменник репозиторію джерела (roles/source.writer)

Для запису просто виконайте звичайний git push.

source.repos.setIamPolicy

З цим дозволом атакувальник може надати собі попередні дозволи.

Доступ до секретів

Якщо атакувальник має доступ до секретів, де зберігаються токени, він зможе їх вкрасти. Для отримання додаткової інформації про те, як отримати доступ до секрету, перевірте:

pageGCP - Secretmanager Privesc

Додавання SSH-ключів

Можливо додати SSH-ключі до проекту репозиторію джерела у веб-консолі. Це викликає запит POST до /v1/sshKeys:add і може бути налаштовано в https://source.cloud.google.com/user/ssh_keys

Після встановлення вашого SSH-ключа, ви зможете отримати доступ до репозиторію за допомогою:

git clone ssh://username@domain.com@source.developers.google.com:2022/p/<proj-name>/r/<repo-name>

І потім використовуйте git команди як завжди.

Ручні облікові дані

Можливо створити ручні облікові дані для доступу до репозиторіїв джерел:

Клацнувши на переходить за посиланням, ви потрапите на https://source.developers.google.com/auth/start?scopes=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform&state&authuser=3

Це викличе підтвердження авторизації Oauth, щоб надати доступ до Google Cloud Development. Тому вам знадобиться або облікові дані користувача, або відкрита сесія в браузері для цього.

Це перенаправить вас на сторінку з bash-сценарієм для виконання та налаштування git cookie в $HOME/.gitcookies

Виконавши сценарій, ви зможете використовувати git clone, push... і це буде працювати.

source.repos.updateProjectConfig

З цим дозволом можна вимкнути захист репозиторіїв джерел за замовчуванням, щоб не завантажувати код, що містить приватні ключі:

gcloud source project-configs update --disable-pushblock

Ви також можете налаштувати іншу тему pub/sub або навіть повністю відключити її:

gcloud source project-configs update --remove-topic=REMOVE_TOPIC
gcloud source project-configs update --remove-topic=UPDATE_TOPIC
Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Last updated