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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/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-полезные нагрузки.

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

Популярное

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

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

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

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

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

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-запросы на , оно всегда логирует поле заголовка User-Agent. Исходный код приложения находится в .
/2021-44228-via-message
./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-обёртки:
    root@kitploit:~
    ~/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

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

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

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