Builder (2025)

Тэги:
CVE-2024-23897
Jenkins Enumeration
Разведка
При сканировании портов было обнаружено два открытых tcp-порта 22 и 8080:
На 8080 порте был Jenkins версии 2.441:

Получение первоначального доступа - jenkins (LFI, Groovy Reverse Shell)
На exploit-db.com можно найти следующий LFI-эксплоит для данной версии Jenkins:
С помощью него был прочитан файл /etc/passwd:
Далее можно было прочитать файл users.xml, который содержит информацию о пользователях:
И прочитать конкретный файл пользователя - config.xml, который содержит хеш пароля:
Тип хеша можно определить исходя из подписи jbcrypt или утилиты hashid:
Сбрутить хеш можно с помощью утилиты hashcat:
После этого в Jenkins можно авторизоваться с УД jennifer/princess:


Чтобы получить шелл, нужно перейти в Manage Jenkins -> Script Console (/manage/script):

С помощью данной страницы можно выполнять Groovy-код. У Reverse Shell Generator и для этого есть отдельная вкладка:

Таким образом был получен реверс шелл:

И стабилизирована оболочка с помощью /usr/bin/script, поскольку интерпретатор python отсутствовал:

Повышение привилегий - root (Jenkins id_rsa)
В файле /var/jenkinks_home/credentials.xml был обнаружен зашифрованный id_rsa ключ для суперпользователя:

Для расшифровки была использована всё та же страница, что и для выполнения полезной нагрузки с реверс шеллом (/manage/script):

Далее ключ был использован для подключения к хосту от имени пользователя root:


Last updated
Was this helpful?