背景介绍
最近由于数字货币的疯涨,有黑客正在利用WebLogic反序列化漏洞(CVE-2017-3248)和WebLogic WLS组件漏洞(CVE-2017-10271)对企业服务器发起大范围远程攻击,入侵后用来挖矿,有大量企业的服务器已被攻陷,且被攻击企业数量呈现明显上升趋势,需要引起高度重视!!!
一、BUG?BUG!!
BUG描述:
漏洞引发原因是Oracle官方的JDK组件中“XMLDecoder”类在反序列化操作时可以注入执行远程代码,Weblogic “wls-wsat”组件在反序列化操作时使用了“XMLDecoder”类,进行XML反序列操作时未做校验,引发远程代码执行。
官方在 2017 年 4 月份就发布了漏洞补丁CVE-2017-3506,此补丁修复利用Oracle WebLogic中WLS 组件远程执行代码的漏洞。通过分析可知,此补丁只是简单的检查了XML中是否包含了节点,将换为即可绕过此补丁。因此10月份官方发布了漏洞补丁CVE-2017-10271,再次修复绕过的漏洞。
BUG影响:
此BUG为高危级!!该漏洞的利用方法较为简单,攻击者只需要发送构造好执行代码的 HTTP XML数据包请求,就可以直接在服务器执行Java代码或操作系统命令。攻击者不仅可以远程下载“比特币”等各种挖矿程序,利用被控服务器进行挖矿工作,使服务器沦为“肉鸡”、“矿工”;也可以执行诸如“rm –rf ” 的命令,对系统进行破坏,并且不会留下日志,非常危险。
受影响的版本
Weblogic Server 10.3.6.0.0,
Weblogic Server 12.1.3.0.0,
Weblogic Server 12.2.1.1.0,
Weblogic Server 12.2.1.2.0
以上均为Weblogic官方还在支持的版本
不受影响的版本
Weblogic Server 12.2.1.3
BUG补丁:
Oracle官方发布补丁,见下表:
二、解决方案
临时方案如下:
第一步:根据实际环境路径,删除WebLogic程序下列war包及目录:
第二步:重启WebLogic或系统后,确认以下链接访问是否为404
http://x.x.x.x:7001/wls-wsat/CoordinatorPortType。
解决方案(安装补丁PSU20171017):
10.3.6 补丁安装
1、使用weblogic安装用户登录到中间件服务器;
2、关闭所有的weblogic节点;
3、在weblogic安装路径(如:/middleware/wls1036/)下,进入bsu文件夹。如:/middleware/wls1036/utils/bsu
4、执行”./bsu.sh”生成cache_dir文件夹
5、使用FTP以二进制方式将补丁包上传到cache_dir目录中
6、进入cache_dir目录,解压补丁包“unzip p21984589_1036_Generic.zip”
7、进入bsu目录执行上述配置好的命令:
8、验证安装:
(1)通过bsu命令验证检查;
(2)通过启动日志验证:启动weblogic服务,在后台的输出信息中看到 “10.3.6.171017”版本字样,表示安装成功;
(3)通过console页面验证:登录weblogic的控制台,进入左侧 “环境”-> 服务器 ,选择其中任意一个服务器,之后进入“监视”->“一般信息”可查看指定server的详细版本号,验证补丁安装成功;
9、补丁回退,执行命令
检查回退结果:
10、注意事项:
(1)执行bsu.sh报错java.lang.OutOfMemoryError: Java heap space
解决办法:
修改bsu.sh将MEM_ARGS="-Xms4096m -Xmx4096m"
12c版本补丁安装
从WebLogic 12c版本开始,WebLogic更新了更新补丁的方式,改由opatch执行更新。
以下步骤适用于所有12c版本:
1.检查ORACLE_HOME环境变量为已安装的ORACLE WEBLOGIC SERVER的目录;
2.停止所有的服务器(AdminServer和所有Managed服务器);
3.设置环境变量
注:斜体加粗部分需要针对定制环境修改;
4.进入Opatch目录中将补丁程序zip文件压缩到tmp_dir中unzip–d tmp_dir/ p26519424_1036_Generic.zip
5.进入解压目录并执行opatch,执行opatch安装命令
6.验证补丁是否安装
$ORACLE_HOME/OPatch/opatch lsinventory
已打补丁的输出中可以看到如下字样:
卸载补丁
若在安装该补丁程序时遇到任何问题,请将该补丁删除
1.停止所有的服务器(AdminServer和所有Managed服务器)
2.运行opacth卸载该补丁程序
3.重新启动所有服务器(AdminServer和所有托管服务器)
三、漏洞验证
使用python脚本检查漏洞是否存在
先决条件:客户机安装python,并且安装python的requests组件
执行脚本
其中主函数中'http://192.168.1.41:7001', 'whoami'分别是要测试的服务器和远程执行的命令。
PS:完善此脚本,可批量检查漏洞。
测试结果:
在没有打补丁时,执行脚本,结果为:
打补丁后,执行脚本,结果为:
如果服务器端weblogic没有启动,会返回Error的错误:
四、用户自检
由于利用Weblogic漏洞传播挖矿木马已经有几天时间,如何检查服务器是否中招呢?
针对linux主机,首先查看/tmp目录中是否存在属主为WebLogic运行账户 的相关可疑文件,如:watch-smartd、Carbon、default。
同时通过进程及系统资源分析,是否存在启动用户为WebLogic运行账户的 相关可疑进程。
同时在网络层,通过防火墙或相关的入侵防御设备,对C&C地址及矿池相 关域名/IP进行监测,涉及域名及IP包括
领取专属 10元无门槛券
私享最新 技术干货