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?