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

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

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

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

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

Категории

Все категории
Loading categories
Java-Deserialization-Scanner — Универсальный плагин для Burp Suite для обнаружения и эксплуатации уязвимостей десериализации Java | Kitploit
Инструменты/GitHubGitHub/federicodotta/java-deserialization-scanner
Фреймворки для эксплойтовГенерация полезной нагрузкиАнализ уязвимостейЭксплуатация веб-приложенийТестирование на Проникновение
GitHubfedericodotta/java-deserialization-scanner

Java-Deserialization-Scanner

Универсальный плагин для Burp Suite для обнаружения и эксплуатации уязвимостей десериализации Java

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
Репозиторий
8021754 лет назадПроверено Kitploit

Java Deserialization Scanner

Java Deserialization Scanner — это плагин для Burp Suite, предназначенный для обнаружения и эксплуатации уязвимостей десериализации Java. Он был написан Федерико Доттой, ведущим аналитиком безопасности в HN Security.

Плагин состоит из трёх различных компонентов:

  1. Интеграция с активным и пассивным сканером Burp Suite
  2. Ручной тестер для обнаружения уязвимостей десериализации Java в пользовательских точках вставки
  3. Эксплоатер, позволяющий активно эксплуатировать уязвимости десериализации Java с помощью frohoff ysoserial (https://github.com/frohoff/ysoserial)

Автор

  • Федерико Дотта, ведущий аналитик безопасности в HN Security

Соавторы

  • Jeremy Goldstein
  • Andras Veres-Szentkiralyi

Мини-руководство (24/05/17)

Краткая статья, содержащая мини-руководство по использованию различных компонентов плагина, доступна по следующему URL: https://web.archive.org/web/20201130104913/https://techblog.mediaservice.net/2017/05/reliable-discovery-and-exploitation-of-java-deserialization-vulnerabilities/

Интеграция с активным и пассивным сканером Burp Suite

Java Deserialization Scanner использует специализированные пейлоады, созданные с помощью модифицированной версии «ysoserial» — инструмента, созданного frohoff и gebl, для обнаружения уязвимостей десериализации Java. Оригинальный инструмент (https://github.com/frohoff/ysoserial) генерирует пейлоады для выполнения команд в системе с помощью функции Runtime.exec. Однако обычно невозможно увидеть вывод команды, и, следовательно, непросто написать сканер, основанный на такой функции. По этой причине используется модифицированная версия ysoserial для генерации различных типов пейлоадов, полезных для обнаружения проблемы, а не для эксплуатации:

  1. Пейлоады, выполняющие синхронную функцию sleep, чтобы проверить наличие проблемы по времени ответа
  2. Пейлоады, выполняющие DNS-резолвинг, чтобы проверить наличие проблемы с помощью Burp Suite Collaborator, интегрированного в Burp Suite

В настоящее время пассивные проверки Java Deserialization Scanner сообщают о наличии сериализованных Java-объектов в HTTP-запросах, а активные проверки активно ищут наличие слабых функций десериализации совместно с наличием следующих слабых библиотек:

  1. Apache Commons Collections 3 (до 3.2.1), с пятью различными цепочками
  2. Apache Commons Collections 4 (до 4.4.0), с двумя различными цепочками
  3. Spring (до 4.2.2), с двумя различными цепочками
  4. Java 6 и Java 7 (до Jdk7u21) без каких-либо слабых библиотек
  5. Hibernate 5
  6. JSON
  7. Rome
  8. Java 8 (до Jdk8u20) без каких-либо слабых библиотек
  9. Apache Commons BeanUtils
  10. Javassist/Weld
  11. JBoss Interceptors
  12. Mozilla Rhino (две различные цепочки)
  13. Vaadin

Кроме того, был представлен пейлоад URLSNDS для активного обнаружения Java-десериализации без каких-либо уязвимых библиотек. Если плагин обнаруживает только проблему URLDNS (и нет уязвимых библиотек), атакующий, вероятно, может выполнять DoS-атаки, но для достижения удалённого выполнения кода потребуется больше усилий. Подробнее см. эту ссылку.

Все компоненты плагина поддерживают следующие кодировки:

  1. Raw
  2. Base64
  3. Ascii Hex
  4. GZIP
  5. Base64 GZIP

В папке test находятся несколько простых Java-серверных приложений, которые можно использовать для тестирования плагина. Каждое приложение использует различную уязвимую Java-библиотеку.

Ручной тестер

Плагин предлагает выделенную вкладку для запуска обнаружения с помощью sleep- и DNS-пейлоадов в пользовательских точках вставки, чтобы проверять уязвимости десериализации Java в особых ситуациях, когда нестандартные точки входа не позволяют выполнить обнаружение сканером. Результаты ручного тестера могут быть вставлены в результаты сканера Burp Suite.

Ручной тестер предлагает дополнительный метод обнаружения: CPU-детекция. Метод обнаружения CPU основан на работе Wouter Coekaerts по SerialDOS (https://gist.github.com/coekie/a27cc406fc9f3dc7a70d) и позволяет обнаруживать проблемы десериализации без наличия какой-либо уязвимой библиотеки, используя объект, который затрачивает много циклов CPU на задачу десериализации, и проверяя время ответа. Метод обнаружения CPU по умолчанию не включён в проверки активного сканирования, поскольку его нужно использовать с осторожностью: отправка огромного количества «лёгких» пейлоадов SerialDOS может вызвать проблемы на старых или сильно загруженных системах.

Эксплоатер

После того как уязвимость десериализации Java найдена, можно активно эксплуатировать проблему с помощью выделенной вкладки «Exploiting». Вкладка «Exploiting» предлагает удобный интерфейс для эксплуатации уязвимостей десериализации. Эта вкладка использует инструмент ysoserial для генерации векторов эксплуатации и включает сгенерированный пейлоад в HTTP-запрос. ysoserial принимает в качестве аргументов уязвимую библиотеку и команду и генерирует сериализованный объект в бинарном виде, который можно отправить уязвимому приложению для выполнения команды на целевой системе (очевидно, если целевое приложение уязвимо). Вкладка Exploiting поддерживает те же форматы кодирования, что и разделы обнаружения плагина.

Скриншот

alt tag

Установка

  1. Скачайте Burp Suite: http://portswigger.net/burp/download.html
  2. Установите Java Deserialization Scanner из BApp Store или следуйте этим шагам:
  3. Скачайте последний релиз Java Deserialization Scanner
  4. Откройте Burp -> Extender -> Extensions -> Add -> выберите файл JavaDeserializationScannerXX.jar

Руководство пользователя

  1. После установки активные и пассивные проверки Java Deserialization Scanner будут добавлены в сканер Burp Suite (проверки можно отключить на вкладке options)
  2. Просто запустите активное или пассивное сканирование, чтобы также проверить слабую Java-десериализацию
  3. С помощью выделенной вкладки «Manual testing» можно задать точку ввода и выполнить атаку со всеми пейлоадами
  4. С помощью выделенной вкладки «Exploiting» можно активно эксплуатировать уязвимости десериализации Java
  5. Вкладка «Configuration» содержит все необходимые настройки для корректной работы плагина

Улучшение Java Deserialization Scanner

Чтобы улучшить это расширение, пожалуйста, сообщайте о любых найденных проблемах в плагине. Кроме того, если вы хотите сообщить мне о какой-либо раскрытой Java-библиотеке, полезной для эксплуатации этой слабости, и если у меня будет время, я добавлю активную проверку для неё в свой плагин.

Отказ от ответственности

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

Лицензия MIT

Copyright (c) 2020 Java Deserialization Scanner

Настоящим предоставляется бесплатное разрешение любому лицу, получившему копию этого программного обеспечения и связанных файлов документации (далее — «Программное обеспечение»), использовать Программное обеспечение без ограничений, включая, без ограничений, права использовать, копировать, изменять, объединять, публиковать, распространять, сублицензировать и/или продавать копии Программного обеспечения, а также разрешать лицам, которым предоставлено Программное обеспечение, делать это, при соблюдении следующих условий:

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

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ОПРЕДЕЛЁННОЙ ЦЕЛИ И ОТСУТСТВИЯ НАРУШЕНИЯ ПРАВ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО КАКИМ-ЛИБО ИСКАМ, ЗА УЩЕРБ ИЛИ ПО ИНЫМ ТРЕБОВАНИЯМ, БУДЬ ТО В РАМКАХ ДОГОВОРА, ДЕЛИКТА ИЛИ ИНЫМ ОБРАЗОМ, ВОЗНИКШИМ ИЗ-ЗА ИСПОЛЬЗОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫМ ОБРАЗОМ СВЯЗАННЫМ С НИМ.

Скачать инструмент