
Уязвимость CVE-2015-5254 — это недостаток безопасности в Apache ActiveMQ, сервере сообщений с открытым исходным кодом, широко используемом для связи между приложениями. Данная уязвимость затрагивает версии ActiveMQ вплоть до 5.13.0 и заключается в отсутствии фильтрации входных данных JMS ObjectMessage.
Уязвимость CVE-2015-5254 — это брешь в безопасности Apache ActiveMQ, широко используемого сервера сообщений с открытым исходным кодом для связи между приложениями. Данная уязвимость затрагивает версии ActiveMQ до 5.13.0 и заключается в отсутствии фильтрации входных данных JMS ObjectMessage, отправляемых
Сканирование сети:
nmap -p 61616 -Pn -T5 -n -sC -sV 172.17.0.1

Запускаем ActiveMQ 2015 через его загруженную папку с помощью docker:

Проверяем версию ActiveMQ:

Это версия 5.11.1
Эксплуатация:
Для этой уязвимости будем использовать команду:
java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "touch /tmp/success" -Yp ROME 172.17.0.1 61616
Эта команда предпринимает попытку эксплуатации уязвимости CVE-2015-5254 в Apache ActiveMQ с помощью инструмента jmet. Вот разбор каждой опции команды:
java -jar jmet-0.1.0-all.jar : Запускает инструмент jmet (Java Message Exploitation Tool) с использованием автономного JAR-файла (jmet-0.1.0-all.jar).
-Q event : Указывает целевую «очередь» (queue) в ActiveMQ, названную здесь «event». Инструмент отправит вредоносное сообщение через эту очередь.
-I ActiveMQ : Указывает, что целью является сервер Apache ActiveMQ.
-s : Запускает эксплуатацию в «скрытом» режиме (stealth), что иногда позволяет минимизировать логи или предупреждения, создаваемые на цели.
-Y "touch /tmp/success" : Указывает вредоносную нагрузку, которая будет выполнена на целевом сервере в случае успеха. В данном случае команда touch /tmp/success создаёт файл с именем success в папке /tmp, чтобы доказать, что эксплуатация сработала.
-Yp ROME : Использует payload «ROME» для попытки эксплуатации уязвимости (ROME — это специфический тип полезной нагрузки, поддерживаемый инструментом для ActiveMQ).
172.17.0.1 61616 : Указывает IP-адрес (1720.17.0.1) и порт (61616) целевого сервера Apache ActiveMQ.
Резюме Эта команда пытается эксплуатировать уязвимость десериализации в Apache ActiveMQ, внедряя вредоносное сообщение в очередь «event» для удалённого выполнения команды. Если эксплуатация успешна, целевой сервер ActiveMQ выполняет команду touch /tmp/success, что является индикатором успешной эксплуатации (создание файла). В общем, мы хотим внедрить файл с именем success в файловую систему сервера ActiveMQ, а именно в /tmp/.

Видно, что эксплойт успешно сработал!!!
На Apache ActiveMQ получаем следующее сообщение об обнаружении:

Кликаем на сообщение:

Вводим следующие команды:
docker ps -a Чтобы узнать текущий контейнер ActiveMQ, видим контейнер 19ab278527c7 Выполняем: docker exec -it 19ab278527c7 /bin/bash Чтобы аутентифицироваться на сервере ActiveMQ через его контейнер.
Мы видим, что аутентификация удалась, и затем проверяем создание файла success в /tmp/:

Конец эксплойта!!!