Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2021-44228-playground — Лаборатория на основе Docker для проверки CVE-2021-44228 (Log4Shell) в Java-приложениях, тестирования мер смягчения и моделирования RCE через LDAP и HTTP-полезные нагрузки. | Kitploit
Инструменты/GitHubGitHub/b-abderrahmane/cve-2021-44228-playground
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеЛаборатории и Практика
GitHubb-abderrahmane/cve-2021-44228-playground

CVE-2021-44228-playground

Лаборатория на основе Docker для проверки CVE-2021-44228 (Log4Shell) в Java-приложениях, тестирования мер смягчения и моделирования RCE через LDAP и HTTP-полезные нагрузки.

Репозиторий
22112 лет назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

LOG4SHELL-CVE-2021-44228-Validator

Basic test

Extended test

О проекте

Этот инструмент позволяет проверить, уязвимо ли простое Java веб-приложение к CVE-2021-44228 для указанных пользователем версий Java и Log4J. Вы также можете [опционально] применить одну из нескольких предопределенных мер защиты. Лаборатория симуляции, запускаемая log4shell_validator.py, использует docker-compose для имитации эксплуатации уязвимости log4j и получения RCE на уязвимой машине.

Как это работает

Прежде всего, необходимо собрать несколько Docker-образов. Скрипт ./build_images.sh должен позаботиться об этом.

Симуляция атаки выполняется следующим образом:

  • Сначала на контейнере на порту 8080 запускается простое Java веб-приложение. Когда это приложение получает GET-запросы на /2021-44228-via-message, оно всегда логирует поле заголовка User-Agent. Исходный код приложения находится в ./poc_template.
  • Фейковый LDAP-сервер запускается с помощью marshalsec на отдельном контейнере на порту 1389. (Этот контейнер будет перенаправлять полученные LDAP-запросы на Nginx-сервер).
  • Nginx веб-сервер запускается на порту 8888; этот контейнер содержит скомпилированный .class-файл, который мы хотим выполнить на уязвимом приложении.
  • Запускается простой контейнер с curl, который выполняет скрипт ./exploit.sh, отправляющий нагрузку на уязвимое приложение.

Инструкции

  • Убедитесь, что python, docker, docker-compose и maven доступны локально.
  • Соберите jar-файл marshalsec, выполнив: cd marshalsec/ ;mvn clean package -DskipTests ;cd -
  • Запустите ./build-images.sh
  • Запустите python log4shell_validator.py --java-version 8 --log4j-version 2.12.1

Примеры использования

  • Текст справки Python-обёртки:
~/workspace/CVE-2021-44228-playground$ python log4shell_validator.py --help
usage: log4shell_validator.py [-h] [--java-version JAVA_VERSION] --log4j-version LOG4J_VERSION [--no-cleanup] [--disable-trust-url] [--remove-jndi-lookup-class] [--disable-message-lookup] [--debug]
                              [--exploit-via-thread-context]

log4j-vulnerability-tester

optional arguments:
  -h, --help            show this help message and exit
  --java-version JAVA_VERSION
                        version of java to be used
  --log4j-version LOG4J_VERSION
                        version of log4j to be used
  --no-cleanup          Don't delete used containers.
  --disable-trust-url   Disable the LDAP trustURLCodebase setting on the victim app
  --remove-jndi-lookup-class
                        Remove the JNDI Lookup class from the log4j jar file
  --disable-message-lookup
                        Disable the JNDI message lookup in the victim app's JVM
  --debug               Display all container's logs
  --exploit-via-thread-context
                        By sending the payload to an HTTP handler which makes use of Custom logging with ThreadContext, attempt to bypass the no-message-lookup mitigation

Доступные возможности:

Этот валидатор был протестирован с несколькими комбинациями Java7/8 и различными версиями Log4J2. Дополнительные примеры можно найти в конвейере расширенных тестов на вкладке GitHub Actions.

На данный момент реализованы следующие меры защиты:

  • Отключение trustURLCodebase для LDAP путем установки свойства com.sun.jndi.ldap.object.trustURLCodebase в False.
  • Удаление файла JNDILookup.class из jar-файла log4j.
  • Отключение поиска сообщений путем передачи следующего флага JVM: -Dlog4j2.formatMsgNoLookups=True

Кроме того, был добавлен новый флаг для тестирования вектора эксплуатации, который может обойти отключение поиска сообщений: --exploit-via-thread-context

Отказ от ответственности

Это программное обеспечение создано исключительно для исследовательских целей и для разработки эффективных методов защиты. Оно не предназначено для атак на системы, за исключением случаев явного разрешения. Сопровождающие проекта не несут ответственности за неправомерное использование программного обеспечения. Используйте ответственно.

Скачать инструмент