富贵长生天做主由不得我
钢骨正气我做主由不得天

挖矿木马简要技术分析

此文为哈工大安天联合CERT实验室发布的针对挖矿木马的简要技术分析,首发于”高校信息化应用“公众号,安天官网现对其进行转载,以便读者进一步了解挖矿木马,同时为读者提供处置建议。

1. 挖矿木马概述

互联网的虚拟货币,如比特币(BTC)、门罗币(XMR)等,是一种由开源的P2P软件产生的网络电子虚拟货币。主要用于互联网金融投资,也可以作为新式货币直接在生活中使用。

比特币挖矿机是获取比特币的方式之一,挖矿机工作要让显卡长时间满载,功耗会相当高,电费开支也会越来越高。由于挖矿成本过于高昂,一些不法分子通过各种手段将矿机程序植入受害者的计算机中,利用受害者计算机的运算力进行挖矿,从而获取非法收益。这类非法侵入用户计算机的矿机程序被称作挖矿木马。

挖矿木马进行超频运算时占用大量CPU资源,导致计算机上其他应用无法正常运行。不法分子为了使用更多算力资源,一般会对全网主机进行漏洞扫描、SSH爆破等攻击手段。部分挖矿木马还具备横向传播的特点,在成功入侵一台主机后,尝试对内网其他机器进行蠕虫式的横向渗透,并在被入侵的机器上持久化驻留,长期利用机器挖矿获利。

经过多年的演进,越来越多的挖矿木马利用多种方式入侵系统,意图感染更多的机器,提高挖矿的效率和收益,其中主要入侵方式如下:

1. 漏洞利用:利用系统漏洞快速获取相关服务器权限,植入挖矿木马是目前最为普遍的传播方式之一。常见的漏洞包括Windows系统漏洞、服务器组件插件漏洞、中间件漏洞、web漏洞等。部分攻击者选择直接利用永恒之蓝漏洞,降低了利用漏洞攻击的难度,提高了挖矿木马的传播能力。例如传播较广的WannaMine挖矿家族,利用了永恒之蓝漏洞在内网蠕虫式传播,给不少公司和机构带来巨大损失。

2. 弱口令:弱口令指的是仅包含简单口令、有规律的键盘组合或历次泄漏过的密码,例如“qwe123”、“666666”及“p@ssw0rd”等,攻击者通常会针对redis、ssh、3389、mssql、IPC$等服务进行爆破弱口令攻击。爆破成功后,尝试获取系统权限,植入挖矿木马并设置持久化。

3. 伪装正常软件:攻击者将挖矿木马伪装为游戏软件、娱乐社交软件、安全软件、游戏外挂等进行传播,欺骗用户下载并执行。由于多数游戏对显卡、CPU等硬件性能要求较高,故挖矿木马通常伪装成游戏辅助外挂,通过社交群、网盘等渠道传播,感染大量机器。

挖矿木马有很多控制机器挖矿的方式,主要分为三种:

1. 可执行文件:存储在机器上的典型恶意程序,通常通过设置计划任务或修改注册表项实现持久化,长期进行加密货币的挖矿作业。

2. 基于浏览器的挖矿木马:使用JavaScript(或类似技术)的挖矿木马是在浏览器中执行。只要浏览器打开被植入挖矿木马的网站,就会执行挖矿执行,持续消耗资源。

3. 无文件挖矿木马:利用如PowerShell等合法工具在机器的内存中执行挖矿作业,具有不落地、难检测等特点。

挖矿木马能在各种平台上运行,包括:Windows、Mac、Linux、Android、物联网(IoT)设备。

2. 如何检测挖矿木马 挖矿木马行为特征

挖矿木马显著的行为特征就是极大的占用CPU及GPU资源主要包括:高 CPU 和 GPU 使用率、响应速度慢、 崩溃或频繁重新启动、系统过热、异常网络活动(例如,连接挖矿相关的网站或 IP 地址)。其次是在网络流量中,挖矿木马通信过程采用专门的通信协议,因此存在一定的网络通信特征。

检测方法

方法1 网络侧检测

在网络侧检测可分为通信内容检测和矿池地址域名请求(DNS请求历史记录)检测。

挖矿木马感染主机和矿池的通信过程使用的通信协议是最常用的stratum协议,该协议内容为JSON数据格式。stratum协议的JSON数据格式存在多个固定的特征字段,在检测通信内容时,可根据这些特征设置告警规则,并应用于suricata、snort和其他通信检测软件或设备。

方法示例:使用wireshark抓包并分析TCP通信内容。

矿池主要有公开矿池和私有矿池,对应域名也就有公开的矿池地址和私有的矿池地址。其中部分公有的矿池地址如下表所示:

私有矿池地址一般有域名+端口或IP地址+端口的形式,域名可能也和公有的矿池地址一样存在一些特殊字符串,如:pool、xmr、mine等。在检测过程中都可结合威胁情报和对应通信内容进行综合判定。

如采用使用威胁情报(VirusTotal等)进行关联查询,综合域名、对应IP、关联样本进行判定矿池地址威胁性。示例中域名虽然在VT上显示无检测结果,可进一步分析关联。

进一步排查IP地址,关联样本,最终发现多个Linux平台的挖矿木马脚本。

方法2 主机侧检测

挖矿木马的主机侧检测主要依据的就是对应进程CPU使用率长时间居高不下,部分挖矿木马采用多方式隐藏进程,且具备多种持久化驻留方式。

针对不具备隐藏进程功能的挖矿木马检测场景:

• Windows:使用任务管理器查看

• Linux:使用命令top -c查看

针对具备隐藏进程功能的挖矿木马检测场景(即系统CPU使用率高,但未发现存在CPU使用率高的进程):

• Windows:使用ProcessExplorer、ProcessHacker、PcHunter等软件查看系统所有进程及其进程关系,依据CPU使用率筛选可疑进程,进一步在主机上排查该可疑进程的网络连接,计算可疑进程对应文件hash,通过公开的威胁情报(Virustotal等)进行查询,综合判定结果。

• Linux系统挖矿木马进程隐藏方式存在多种方式:

1. 篡改预加载的配置(/etc/ld.so.preload),写入恶意so文件路径,加载恶意的so文件,使得ls、top、ps等命令在查询可疑进程时执行结果被挖矿木马的动态链接库屏蔽,无法获得挖矿木马进程相关的信息。

通过以下命令恢复相关命令的正常执行:

> /etc/ld.so.preload && rm -rf 恶意so文件路径

2. 通过其他手段修改Linux系统常用命令。

a. 针对这种隐藏方式,可以查看系统版本(uname -a),将其他相同版本的Linux系统的top命令文件重名了,导入该受害系统中,使用新的文件名命令进行排查。 b. 安装busybox程序,使用内置的Linux常用命令(top、ps、ls等)对系统进行排查。

除以上排查方法外,还可采用自动化脚本排查,脚本排查思路主要源于挖矿木马为了竞争CPU资源而在相关脚本中设置查找并删除其他挖矿木马的代码。收集整理其中的查找挖矿木马的代码,形成一定功能的挖矿木马进程排查脚本。此种方式的脚本排查误报率高,需要结合人工分析判定。

3. 如何处置挖矿木马 针对独立运行的挖矿木马感染场景处置

独立运行的挖矿木马无其他附加功能,重复利用目标主机上的系统资源进行挖矿。此种挖矿木马通常利用垃圾邮件或捆绑软件进行传播,主要针对的是Windows系统终端,因此对于这种挖矿木马在处置上较为简单,依据系统资源使用率在主机侧排查可疑进程,结合网络连接情况,综合判定该进程为挖矿木马后,即可结束该挖矿木马进程,而后删除对应的挖矿木马文件。

针对集成化的挖矿木马感染场景处置

在当前活跃挖矿木马家族大多数都是集成化的挖矿木马,集成多种功能,组建相应挖矿木马僵尸网络。集成化的挖矿木马主要有传播、挖矿、控制、持久化驻留、更新等功能,攻击者依据这些功能收获巨大的利益。

在传播上使用端口扫描工具、漏洞利用工具、暴力破解,对内网或外网的其他目标进行渗透并传播挖矿木马。

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《挖矿木马简要技术分析》
文章链接:https://www.lolmm.cn/stwd/1284.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

评论前必须登录!