OpenShift - Jenkins
Reading time: 3 minutes
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
Оригінальний автор цієї сторінки Fares
Ця сторінка надає кілька вказівок щодо того, як ви можете атакувати екземпляр Jenkins, що працює в кластері Openshift (або Kubernetes).
Відмова від відповідальності
Екземпляр Jenkins може бути розгорнутий як в кластері Openshift, так і в Kubernetes. Залежно від вашого контексту, вам може знадобитися адаптувати будь-який показаний payload, yaml або техніку. Для отримання додаткової інформації про атаку на Jenkins ви можете ознайомитися з цією сторінкою.
Передумови
1a. Доступ користувача до екземпляра Jenkins АБО 1b. Доступ користувача з правами на запис до репозиторію SCM, де автоматизоване збірка запускається після push/merge.
Як це працює
Фундаментально, майже все за лаштунками працює так само, як і звичайний екземпляр Jenkins, що працює у VM. Головна різниця полягає в загальній архітектурі та в тому, як збірки керуються всередині кластера openshift (або kubernetes).
Збірки
Коли збірка запускається, спочатку нею керує/оркеструє вузол майстра Jenkins, а потім делегується агенту/рабу/робітнику. У цьому контексті вузол майстра є просто звичайним pod, що працює в просторі імен (який може відрізнятися від того, де працюють робітники). Те ж саме стосується робітників/рабів, однак вони знищуються після завершення збірки, тоді як майстер завжди залишається активним. Ваша збірка зазвичай виконується всередині pod, використовуючи шаблон pod за замовчуванням, визначений адміністраторами Jenkins.
Запуск збірки
У вас є кілька основних способів запустити збірку, такі як:
- У вас є доступ до UI Jenkins
Дуже простий і зручний спосіб - використовувати функцію Replay існуючої збірки. Це дозволяє вам повторити раніше виконану збірку, дозволяючи вам оновити groovy-скрипт. Це вимагає привілеїв на папку Jenkins і попередньо визначену конвеєр. Якщо вам потрібно бути непомітним, ви можете видалити свої запущені збірки, якщо у вас є достатні права.
- У вас є доступ на запис до SCM, і автоматизовані збірки налаштовані через webhook
Ви можете просто редагувати скрипт збірки (такий як Jenkinsfile), комітити та пушити (врешті-решт створити PR, якщо збірки запускаються лише на злиттях PR). Майте на увазі, що цей шлях є дуже шумним і потребує підвищених привілеїв, щоб очистити свої сліди.
YAML переопределення Pod збірки Jenkins
OpenShift - Jenkins Build Pod Override
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.