Linux挖矿木马的技术演进探讨 – 作者:深信服千里目安全实验室

近年来,勒索病毒凭借极强的破坏性和高额的赎金“风靡一时”,令人闻风丧胆,而另一种数字化非法敛财工具——挖矿木马,却常常容易被人们忽略。

“挖矿”实际上是指通过计算机运算获取数字货币的一个过程,理论上来说,利用个人资源进行挖矿并不是违法的,但由于运算过程需要消耗大量的计算机资源,长时间的高负荷运行甚至会造成计算机硬件的损坏,一些网络犯罪分子为了缩减成本,开始利用木马程序非法侵入他人电脑,植入挖矿程序进行挖矿,构成了我们平时所说的挖矿木马。

早期的挖矿木马更多的采用了捆绑的方式进行传播,多通过下载站、网盘、网吧论坛等方式传播捆绑了挖矿木马的外挂程序、加速器、影音播放器等,传播具有一定的广泛性,但由于代理渠道容易被追溯,黑产团伙也面临着较大的风险。

随即,黑产团伙开始挖掘自动化的传播技术,首当其冲的便是账号爆破。不论是SMB爆破,还是RDP爆破、MSSQL爆破、亦或是SSH爆破,都成为挖矿木马传播的“基本操作”。随着攻防手法的不断变化,黑产团伙开始在挖矿木马上组合多种传播模块,除暴力破解外,还大量利用了影响广泛的0day漏洞,如Windows下的“永恒之蓝”漏洞,被“驱动人生”挖矿木马、PowerGhost、WannaMine等家族广泛使用。

比起Windows环境,Linux下的安全问题似乎更少受到普通用户的关注,但这并没有减少攻击者对Linux系统兴趣,针对Linux系统的挖矿木马在对抗中持续进行技术更替。

传播方式的演进

账号爆破

账号爆破作为最低成本的攻击方式,同样也是Linux挖矿木马最常用的传播手法,例如早期版本的StartMiner就使用了SSH暴力破解进行传播,其次,Redis账号爆破也常常被挖矿木马利用:

图片[1]-Linux挖矿木马的技术演进探讨 – 作者:深信服千里目安全实验室-安全小百科

(StartMiner挖矿木马所使用的字典截取)

SSH免密登录

部门挖矿木马在感染后,会在authorized_key中写入恶意程序内置的SSH公钥,相当于留下一个小后门,以实现下次SSH免密登录,便于重复感染:

图片[2]-Linux挖矿木马的技术演进探讨 – 作者:深信服千里目安全实验室-安全小百科

漏洞利用

随着技术的发展,Linux下大量的组件漏洞和应用漏洞渐渐成为挖矿木马的捷径,例如DDG挖矿木马,除SSH暴力破解之外,还会通过Redis未授权访问漏洞、Nexus Repository Manager 3 RCE漏洞(CVE-2019-7238)、Supervisord RCE漏洞(CVE-2017-11610)等多个漏洞进行横向传播:

图片[3]-Linux挖矿木马的技术演进探讨 – 作者:深信服千里目安全实验室-安全小百科

以下列举出了常见易被挖矿木马利用的相关漏洞:

漏洞名称

漏洞编号

Redis未授权访问漏洞

Nexus Repository Manager 3 RCE漏洞

CVE-2019-7238

Supervisord RCE漏洞

CVE-2017-11610

(脏牛)Linux本地提权漏洞

CVE-2016-5195

Apache Dubbo反序列化漏洞

CVE-2019-17564

Apache Dubbo Hessian2 协议反序列化漏洞

CVE-2021-25641

Apache Dubbo Nashorn 脚本远程代码执行漏洞

CVE-2021-30181

Structs2漏洞合集

S2-001至S2-057

SHIRO-550 反序列化漏洞

CVE-2016-4437

Drupal Drupalgeddon 2 远程代码执行漏洞

CVE-2018-7600

ThinkPHP5 5.0.22/5.1.29 远程代码执行漏洞

ThinkPHP远程代码执行漏洞

CVE-2019-9082

Confluence 未授权 RCE

CVE_2019_3396

……

Docker挖矿

什么是docker呢?熟悉Linux环境的同学应该知道,docker是容器技术的一种实现,相当于对软件的依赖环境进行打包处理,可以在不同的环境下快速部署,并且屏蔽环境差异执行文件。由于docker技术十分便利,如今正被越来越多的企业和个人采用,于是攻击者将算盘打到了docker上。

2020年,研究人员曾发现Docker Hub社区有用户上传大量包含了挖矿程序的docker镜像,这些镜像中被下载次数最多的高达147万次:

图片[4]-Linux挖矿木马的技术演进探讨 – 作者:深信服千里目安全实验室-安全小百科

(图片源自海外报道)

驻留方式的演进

驻留方式的演进是Linux挖矿木马技术发展最直观的体现。早期的Linux挖矿木马驻留较为简单,常见的手法包括创建crontab定时启动、执行后删除文件、设置文件或目录为隐藏属性:

图片[5]-Linux挖矿木马的技术演进探讨 – 作者:深信服千里目安全实验室-安全小百科

(DDG早期变种创建的crontab)

慢慢的,Linux挖矿木马逐渐衍生出了更多驻留方式,如下举例:

劫持替换系统命令文件

以BillGates僵尸网络为例,该木马会替换系统中的getty、lsof、netstat、ps、ss、syn等命令,当直接执行这些命令时,会劫持返回结果,影响分析和排查:

图片[6]-Linux挖矿木马的技术演进探讨 – 作者:深信服千里目安全实验室-安全小百科

守护进程

为了防止挖矿进程被杀掉,部分挖矿木马会创建守护进程用以监控挖矿进程的状态,在挖矿进程被kill时能够及时重新拉起,以深信服终端安全团队2020年捕获的RainbowMiner为例,图中kthreadds为挖矿进程,pdflushs为守护进程:

图片[7]-Linux挖矿木马的技术演进探讨 – 作者:深信服千里目安全实验室-安全小百科

Rootkit

Linux挖矿最常见的Rootkit方式是so注入,通过修改/etc/ld.so.preload文件,设置恶意so文件为预加载库,通常用来hook文件查看、文件删除、进程查看等系统命令函数,过滤掉木马相关的信息,使得排查时使用系统命令无法查看到病毒相关的文件和进程信息:

图片[8]-Linux挖矿木马的技术演进探讨 – 作者:深信服千里目安全实验室-安全小百科

常见的H2Miner、KernelMiner、AutoUpdata挖矿木马等家族都使用了该技术。

除了so外,加载恶意内核模块.ko文件(kernel object文件)也是Linux下的一种rootkit手法,直接使用insmod或modprobe命令即可加载;在排查过程中,可以使用lsmod命令来查看已经加载的内核模块列表,使用rmmod命令可以进行内核模块卸载:

图片[9]-Linux挖矿木马的技术演进探讨 – 作者:深信服千里目安全实验室-安全小百科

(某恶意ko文件截图)

bash启动项

~/.bash_profile文件默认情况下是记录了用户自己专用的shell信息,包括一些环境变量、需要执行的.bashrc文件等,该文件在系统启动时生效,某些挖矿木马会将自身程序启动写入该文件中,以实现自启动,例如StartMiner在变种中就新增了该启动项:

图片[10]-Linux挖矿木马的技术演进探讨 – 作者:深信服千里目安全实验室-安全小百科

cp -f -r — /bin/bprofr /bin/dbused 2>/dev/null && /bin/dbused -c  >/dev/null 2>&1 && rm -rf — /bin/dbused 2>/dev/null

功能多样化

通信方式

除了基本的传播和驻留之外,Linux挖矿还常常使用一些心机操作,比如DDG挖矿木马,早期使用了Memberlist开源P2P通信方式,后来变更为自研的P2P通信方式;

再例如SystemdMiner挖矿木马,除了脚本中以拼接的形式组成访问的恶意域名外,还使用了socket5的方式用relay.tor2socks.in代理访问C&C域名,relay.tor2socks.in是一个类似中转网站的域名,这样,C&C域名trumpzwlvlyrvlss.onion就不会直接出现在数据包头:

图片[11]-Linux挖矿木马的技术演进探讨 – 作者:深信服千里目安全实验室-安全小百科

安防对抗

安防对抗是大部分恶意程序都具有的功能,而Linux下的恶意程序主要对抗的是云服务器上常见的安防产品,例如阿里云盾、安骑士、云镜等,通常通过结束该产品的相关进程甚至包括更新进程来进行对抗:

图片[12]-Linux挖矿木马的技术演进探讨 – 作者:深信服千里目安全实验室-安全小百科

上图为SystemdMiner的安防对抗模块,可以看出,该模块目前还较为混乱,除了安全软件的进程外,还加入了很多其他挖矿家族的相关进程。

清理竞品

安全人员在分析过程中发现,Linux下的挖矿木马除了会对抗一些安防产品,还会清理其他家族的挖矿木马,例如SystemdMiner会通过改写hosts文件,使得其他家族的挖矿木马无法访问对应的域名,还会删除一些常见挖矿家族的进程和文件:

图片[13]-Linux挖矿木马的技术演进探讨 – 作者:深信服千里目安全实验室-安全小百科

而有趣的是,被清理的家族也会想尽办法让竞品干不掉自己,比如被DDG挖矿木马列入清理名单的RainbowMiner,则采用了上文提到的多种驻留手段来躲避DDG的黑手。

多平台感染

一些初具规模的挖矿木马家族开始不满足于单一平台的传播和感染,发展起了多平台挖矿,例如,2018年被安全人员发现的PowerGhost挖矿木马,起初只是在Windows下利用永恒之蓝漏洞和poweshell无文件攻击的方式进行传播和挖矿,深信服终端安全团队于2019年发现其用于感染Linux平台的SSH暴力破解模块和MSSQL暴力破解模块:

图片[14]-Linux挖矿木马的技术演进探讨 – 作者:深信服千里目安全实验室-安全小百科

(PowerGhost感染全流程)

再如近期通过信服云捕获的AutoUpdate挖矿木马,在其配置文件中发现该木马支持双平台挖矿:

图片[15]-Linux挖矿木马的技术演进探讨 – 作者:深信服千里目安全实验室-安全小百科

与大部分恶意程序一样,Linux挖矿木马的技术变化也是由简至繁,由点及面。在近几年的挖矿木马事件处理中,安全研究人员发现,云主机感染挖矿程序的案例逐渐增多。由于用户业务逐渐云化,云上安全风险也随之而来;云主机大多采用默认的登录端口和登录口令,业务应用没有及时更新存在可被利用的漏洞,且能被公网直接访问,存在较大的安全隐患。

小结

无论是云主机还是物理主机,都需要从端到网的全面进行安全防护,深信服终端安全团队提醒广大用户,谨记以下防护tips,与挖矿木马“Say No”:

密码弱,被爆破,免密登录太脆弱;

勤升级,打补丁,漏洞利用不担心;

装杀毒,定时扫,流量监控少不了;

管理员,勿轻心,安全意识最重要!

来源:freebuf.com 2021-07-28 11:58:50 by: 深信服千里目安全实验室

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论