合法的大规模加密货币挖矿活动不仅需要使用特殊的硬件,而且还要耗费大量的电力资源,而币圈的暴利早就已经吸引到了网络犯罪分子的目光。恶意挖矿软件在去年已经开始兴风作浪了,而这也是去年很多家用路由器遇到的最多的网络攻击事件了。
根据我们的事件响应监测信息,我们观察到了一个跟我们之前所发现的加密货币恶意挖矿活动(使用JenkinsMiner恶意软件)有关联的入侵攻击。但这两者的区别就在于:这个恶意挖矿活动主要针对的是Linux服务器。除此之外,它也是一个漏洞重用的典型例子,因为它利用的是一个已过时的安全漏洞,而这个漏洞早在5年前就已经被修复了。
根据趋势科技网络智能保护服务所提供的信息,该活动当前仍处于活跃状态,并且主要针对的是中国、美国、印度和日本地区的Linux服务器。
下图显示的数据是2017年12月到2018年3月中旬期间来自恶意挖矿活动的网络入侵尝试:
下图显示的是恶意挖矿活动主要针对的国家和地区:
攻击链分析
这个恶意活动利用的是漏洞CVE-2013-2618,即一个存在于Cacti的Network Weathermap插件中的已过时漏洞,而这个插件是很多系统管理员用来可视化监控网络活动的工具。为什么攻击者要利用一个旧的安全漏洞呢?因为Network Weathermap目前只公开报告了两个漏洞,而这两个漏洞都是在2014年6月份被曝光的。因此研究人员认为,攻击者之所以选择利用这个漏洞,主要是因为针对这个安全漏洞的攻击代码已经有现成的了,其次是很多使用开源工具的组织可能并不会即使修复相关的安全漏洞。
下图显示的是关于Weathermap漏洞利用的入侵威胁指标:
从上图中可以看到:
1. 打码部分为目标Web服务器的地址和端口信息。
2. 文件/plugins/weathermap/configs/conn.php是攻击者对/plugins/weathermap/php文件进行持久化XSS攻击的相关文件。
3. 攻击目标为Linux Web服务器(尽管Windows设备同样可以安装Cacti和相关插件)。
除了conn.php之外,我们还观察到了一个发送给页面‘cools.php’的类似的HTTP请求:
从上图中可以看到,代码主要执行了下列三种命令:
//使用wget下载文件,wget是大多数Linux系统默认自带的工具
//赋予文件可执行权限
//运行可执行文件
watchd0g.sh文件中包含下图所示的代码:
这个代码文件保存在/etc/rc.local中,因此每当目标系统重启之后watchd0g.sh都会被执行。在对/etc/crontab修改之后,watchd0g.sh每三分钟就会运行一次,然后它会根据挖门罗币的推荐值(XMR)来修改Linux内核参数vm.nr_hugepages。除此之外,它还会确保watchd0g.sh进程一直保持正常的运行状态。
但这个文件的主要任务是下载另一个文件dada.x86_64(趋势科技将其标记为COINMINER_MALXMR.SM-ELF64),下载的源服务器跟托管watchd0g.sh文件的服务器是相同的。
分析Linux XMRig挖矿程序
最终的恶意Payload是一个修改版的XMRig Miner,XMRig是一款合法的开源XMR挖矿软件,并且支持32位和64位的Windows及Linux操作系统。使用命令行执行XMRig时,系统显示的信息如下:
XMRig的运行还需要一个名叫‘config.json’的配置文件,以及相应的算法(CryptoNight/CryptoNight-Lite)、最大CPU使用率、矿池服务器和登录凭证(门罗币钱包及访问密码)等等。攻击样本已经将所有需要的参数和配置嵌入在Payload代码中了:
加密货币及矿池信息
根据我们对五个样本的分析结果,恶意软件只使用了两个唯一的登录用户名,并用这两个用户名匹配到了门罗币钱包以及矿池信息。
到2018年3月21号为止,攻击者已经挖到了大约价值74677美元的门罗币(根据我们所发现的两个加密货币钱包),而这只是整个恶意活动的冰山一角。下图显示的是样本中的门罗币钱包信息:
攻击的成功实现需要满足下列条件:
1. 运行Linux(x86-64)的Web服务器;
2. Web服务器需要可公开访问;
3. 安装了Cacti(开源的基于Web的可视化网络监控工具)并且启用了已过期的Network Weathermap(v0.97a及其之前版本)插件;
4. Web服务器不需要进行身份验证即可访问Web网站资源;
5. 为了保证Payload可以正确执行,Web服务器需要以root权限运行;
因此,需要使用Cacti的网络管理员应该尽快更新自己的工具以及相关插件版本。
入侵威胁指标
恶意XMRig Miner相关的IP及URL地址:
领取专属 10元无门槛券
私享最新 技术干货