TravisCI Security
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Travis CI - це хостингова або локальна служба безперервної інтеграції, яка використовується для створення та тестування програмних проектів, розміщених на кількох різних git платформах.
Basic TravisCI InformationЩоб розпочати атаку, спочатку потрібно знати, як запустити збірку. За замовчуванням TravisCI запускає збірку при пушах та пулл-запитах:
Якщо у вас є доступ до веб-додатку, ви можете налаштувати 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?
скомпрометувати інші машини, що працюють в тій же мережі?
скомпрометувати нові облікові дані хмари?
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)