Каталог инструментов
Категории
CVE-2021-44228 — CVE-2021-44228 демо-веб-приложение | Kitploit
Инструменты / GitHub / b1tm0n3r / cve-2021-44228
b1tm0n3r/cve-2021-44228 CVE-2021-44228 CVE-2021-44228 демо-веб-приложение
1 4 лет назадОткройте для себя самые используемые инструменты нашего сообщества.
7 дней 30 дней
CVE-2021-44228-POC
Ещё один POC для CVE-2021-44228
Затронутые версии Log4j: с 2.0-beta9 по 2.14.1
Предварительные требования
Используемая Java: OpenJDK 11
Для сборки приложений в этом репозитории требуется Maven (в качестве альтернативы можно загрузить готовые jar-файлы из релиза):
Сборка и запуск проектов
Описание каталогов:
jndi - проект с JNDI LDAP Reference сервером
web - проект с уязвимым сервером
provider - проект с компилятором кода и сервером
resources - каталог для дополнительных ресурсов (например, скриншотов)
Сборка проектов:
Запуск jar-файлов:
Файлы для запуска (эти файлы будут созданы в: <repo_name>/<project_name>/target):
jndi-1.0.0-jar-with-dependencies.jar (запуск: java -jar jndi-1.0.0-jar-with-dependencies.jar "http://127.0.0.1:8081/#Exploit ")
web-1.0.0.jar (запуск: java -jar web-1.0.0.jar) - работает на порту 8080
provider-1.0.0.jar (запуск: java -jar provider-1.0.0.jar) - работает на порту 8081 В качестве альтернативы можно собрать и запустить docker-образ - раздел Docker ниже раздела «Скриншоты»
Базовое использование
Запустите все проекты (как указано выше)
Перейдите на http://127.0.0.1:8081/
Скопируйте шаблон эксплойта и вставьте его в поле Java Code
Перейдите к уязвимому логгеру по адресу: http://127.0.0.1:8080/
Скопируйте payload из примера и отправьте его логгеру
Должно открыться приложение «Калькулятор» (Windows). В случае Linux и Mac в каталоге /tmp должен быть создан пустой файл с именем "PWNED"
Описание В настоящее время уязвимость может быть использована через:
/logAction -> post-эндпоинт (срабатывает при передаче payload в заголовках запроса или в параметре "payload")
/logGetHeaders -> get-эндпоинт (срабатывает при передаче заголовков запроса)
/logPut -> put-эндпоинт (срабатывает при передаче заголовков запроса или тела запроса)
/logDelete -> delete-эндпоинт (срабатывает при передаче заголовков запроса или тела запроса):
Скриншоты Версия Java:
Подготовка эксплойта + Компиляция + Раздача class-файла:
Подготовка payload (для доставки в log4j) + Отправка payload:
JNDI Reference:
Результат эксплуатации (Windows):
Результат эксплуатации (GNU/Linux):
Docker Вы также можете собрать docker-образ с помощью Dockerfile, расположенного в главном каталоге репозитория.
Инструкции:
docker build . -t log4j_vuln
docker run -p 8080:8080 -p 8081:8081 log4j_vuln
Чтобы узнать CONTAINER_ID:
Чтобы увидеть результат эксплуатации (внутри контейнера):
docker exec -it <CONTAINER_ID> bash
ls -la /tmp
Остановить docker-контейнер можно с помощью:
docker container kill <CONTAINER_ID>
Отказ от ответственности Код, представленный в этом репозитории, предназначен ТОЛЬКО ДЛЯ ОБРАЗОВАТЕЛЬНЫХ ЦЕЛЕЙ .
Я не оказываю содействия и не одобряю любое вредоносное использование данных из этого репозитория.
Кроме того, код в этом репозитории предоставляется на основе «AS IS» - БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ И УСЛОВИЙ.
Дополнительная информация