TravisCI Security
Last updated
Last updated
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Travis CI - це хостингова або локальна служба безперервної інтеграції, яка використовується для створення та тестування програмних проектів, розміщених на кількох різних git платформах.
Basic TravisCI InformationЩоб розпочати атаку, спочатку потрібно знати, як запустити збірку. За замовчуванням TravisCI запускає збірку при пушах та pull запитах:
Якщо у вас є доступ до веб-додатку, ви можете налаштувати cron для запуску збірки, це може бути корисно для збереження доступу або для запуску збірки:
Схоже, що неможливо налаштувати cron всередині .travis.yml
відповідно до цього.
TravisCI за замовчуванням забороняє обмін змінними середовища з PR, що надходять від третіх сторін, але хтось може це увімкнути, і тоді ви зможете створити PR до репозиторію та ексфільтрувати секрети:
Як пояснено на сторінці основної інформації, існує 2 типи секретів. Секрети змінних середовища (які перераховані на веб-сторінці) та кастомні зашифровані секрети, які зберігаються в файлі .travis.yml
у форматі base64 (зверніть увагу, що обидва, збережені в зашифрованому вигляді, стануть змінними середовища на фінальних машинах).
Щоб перерахувати секрети, налаштовані як змінні середовища, перейдіть до налаштувань проекту та перевірте список. Однак зверніть увагу, що всі змінні середовища проекту, встановлені тут, з'являться при запуску збірки.
Щоб перерахувати кастомні зашифровані секрети, найкраще, що ви можете зробити, це перевірити файл .travis.yml
.
Щоб перерахувати зашифровані файли, ви можете перевірити наявність .enc
файлів у репозиторії, шукати рядки, подібні до openssl aes-256-cbc -K $encrypted_355e94ba1091_key -iv $encrypted_355e94ba1091_iv -in super_secret.txt.enc -out super_secret.txt -d
у конфігураційному файлі, або шукати зашифровані iv та ключі у змінних середовища, таких як:
Приклад збірки з реверс-шелом, що працює на Windows/Mac/Linux
Приклад збірки, що витікає змінні середовища, закодовані в base64 у логах
Якщо зловмисник опиниться в середовищі, яке використовує TravisCI enterprise (більше інформації про те, що це таке, на сторінці основної інформації), він зможе запускати збірки в Worker. Це означає, що зловмисник зможе переміщатися по мережі до цього сервера, з якого він зможе:
втекти до хоста?
скомпрометувати kubernetes?
скомпрометувати інші машини, що працюють в тій же мережі?
скомпрометувати нові облікові дані хмари?
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)