RainbowMiner,一个求生欲极强的挖矿病毒家族

发布者:深信服千里目
发布于:2020-04-30 11:43

0x0 背景介绍

近期,深信服安全团队捕获到一个求生欲极强的Linux挖矿病毒家族,为了躲避DDG及安全人员的查杀,其采用了多种方式进行隐藏及持久化攻击,由于其会访问域名Rainbow66.f3322.net,深信服安全团队将其命名为RainbowMiner。

0x1 排查清除过程

中毒的主机出现了奇怪现象,CPU占用率很高,却找不到可疑的进程。



这种情况第一反应是病毒对系统命令进行了劫持,隐藏自身,下载运行busybox top命令,即可查看到病毒进程,其中kthreadds为挖矿进程,pdflushs为守护进程。



定位完病毒进程后,还需删除对应的文件,挖矿进程对应的文件为/usr/bin/kthreadds,守护进程对应的文件为/etc/init.d/pdflush,同时,主机的/etc/rc*.d/启动目录下还有残留的链接,也许一并清除。


 

该病毒没有采用定时任务的方式驻留,而是创建了一个ssh公钥后门,也需要一并清除。


除此之外,还发现主机有个伪装的python恶意进程,经后续分析确认也是个守护进程,需要清除干净。至此,病毒的清除过程就结束了。



0x2 情报关联

从Github开源项目DDGBotnetTracker发现,DDG最新版本v5023的猎杀名单中存在有RainbowMiner的项,看来DDG也视RainbowMiner为眼中钉。



RainbowMiner相应的域名也在重定向列表里。



Rainbow66.f3322.net(148.70.199.147)是个HFS服务器,上述xmrig/目录存放的就是RainbowMiner的所有组件,这里可以看到点击量超过了7.7w,估摸着感染RainbowMiner的主机大概有7w+。



xmrig/目录如下,其中母体脚本有3个,launch和launch-ubuntu即为pdflushs,而install比较有趣,分析发现是个汉化版的脚本。



脚本还带有中文注释。



运行后,会提示你安装挖矿还是安装后门,功能与pdflushs相仿。



0x3 病毒分析

kthreadds为开源xmrig挖矿程序,下面主要分析母体脚本pdflushs,从初始的变量定义,可以得知,RainbowMiner的组件主要有3类:ssh等运维工具、processhider等黑客工具、xmrig等挖矿程序,其中运维工具是方便脚本执行命令,黑客工具只要是用来隐藏及持久化运行挖矿进程。



脚本入口点如下,支持3种参数,安装并运行挖矿,检查挖矿运行状态,及检查更新。



主要看start函数,该函数启动后会从C&C服务器下载各个组件,并校验sha512是否正确,若不正确(云端组件有更新或本地组件被篡改)则重新下载。



写入ssh公钥后门到autorized_keys文件,使C&C服务器后续可以直接登录该主机。



后台运行cron.py脚本(伪装成libgc++.so),与母体脚本功能类似,守护监控挖矿是否正常运行。



cron.py脚本的代码如下,后台运行挖矿进程及母体脚本,挖矿矿池地址为:rainbow20.eatuo.com。


参考链接:https://github.com/0xjiayu/DDGBotnetTracker/blob/master/v2/data/jobs.json


0x4 加固建议 

1、Linux恶意软件以挖矿为主,一旦主机被挖矿了,CPU占用率高,将会影响业务,所以需要实时监控主机CPU状态。

2、定时任务是恶意软件惯用的持久化攻击技巧,应定时检查系统是否出现可疑定时任务。

3、部分企业还存在ssh弱密码的现象,应及时更改为复杂密码,且检查在/root/.ssh/目录下是否存在可疑的authorized_key缓存公钥。

4、定时检查Web程序是否存在漏洞,特别关注Redis未授权访问等RCE漏洞。

 

0x5 深信服安全产品解决方案

1、深信服EDR产品、下一代防火墙及安全感知平台等安全产品均具备病毒检测能力,部署相关产品用户可进行病毒检测,如图所示:


2、深信服安全感知、下一代防火墙、EDR用户,建议及时升级最新版本,并接入安全云脑,使用云查服务以及时检测防御新威胁;

3、深信服安全产品集成深信服SAVE安全智能检测引擎,拥有对未知病毒的强大泛化检测能力,能够提前精准防御未知病毒;

4、深信服推出安全运营服务,通过以“人机共智”的服务模式帮助用户快速提高安全能力。针对此类威胁,安全运营服务提供安全设备策略检查、安全威胁检查、相关漏洞检查等服务,确保第一时间检测风险以及更新策略,防范此类威胁。


声明:该文观点仅代表作者本人,转载请注明来自看雪