什么是挖矿木马?
攻击者通过各种手段将挖矿程序植入受害者的计算机中,在受害者不知情的情况下利用其计算机的云算力进行挖矿,从而获取利益,这类非法植入用户计算机的挖矿程序就是挖矿木马。
挖矿木马,挖的是啥?
由于比特币的成功,许多基于区块链技术的数字货币纷纷问世,如以太币、达世币等;从深信服安全团队接到的挖矿木马案例来看,门罗币是最受挖矿木马青睐的数字货币,主要有如下几个原因:
1.门罗币交易价格可观;
2.门罗币是一种匿名币,安全性更高;
3.门罗币的算法通过计算机CPU和GPU即可进行运算,不需要其他特定的硬件支持;
4.互联网上开源的门罗币挖矿项目很多,方便使用;
5.暗网支持门罗币交易。
为什么会中挖矿木马?
垃圾邮件:用户运行了钓鱼邮件中的附件。
软件捆绑:用户下载运行来历不明的破解软件
漏洞传播:用户没有及时修补漏洞,目前大部分挖矿木马都会通过漏洞传播。
网页挖矿:用户访问了植入挖矿脚本的网页,浏览器会解析脚本进行挖矿。
发现挖矿
CPU使用率
通常对挖矿木马的感知,主要表现在主机的使用感上,在主机正常运行的情况下,突然变得卡顿,并且CPU的使用率高于正常使用时的数值或达到了100%:
感知产品
当然,仅从卡顿和CPU使用率来判断是否中了挖矿木马是不准确的,从安全产品上能够更加准确直观的发现挖矿木马。
例如,如果使用了防火墙或态势感知产品,通常能够准确的告警主机试图连接挖矿木马相关的域名,或者准确的给出挖矿木马家族标签,下图以深信服安全感知产品为例:
可以看到关键风险中存在“driverlife”标签,即主机请求了“驱动人生”挖矿木马的相关域名。如果安全产品上只是报出了黑域名,下图以深信服防火墙为例:
此时可以通过威胁情报搜索相关的域名信息,下图为使用微步在线(x.threatbook.cn)查询恶意域名的示例,可以看到该域名被关联到“驱动人生”挖矿木马:
流量抓取
如果是没有部署流量产品的情况下,需要判断是否存在挖矿流量就稍微麻烦一些,需要使用工具抓取流量包来进行判断,推荐的抓包工具有Wireshark、科来网络分析工具,例如抓到下列数据包,通常该数据的格式就是挖矿木马的与矿池的通信格式:
使用威胁情报查询该IP,即可确认中了挖矿木马:
如果是使用了杀毒软件,定期进行全盘扫描也能够发现挖矿木马,通常会扫描出Miner或永恒之蓝漏洞利用工具包的文件,表现为带有字符“ShadowBrokers”、“EternalBlue”,下图以深信服EDR的查杀结果为例:
很多用户可能同时使用了流量产品和终端杀软进行联动,会出现流量报了挖矿木马的威胁,但是终端杀软却没有查杀到病毒,是什么原因呢?
可能是下面两种情况:
1.是否使用了全盘查杀,很多情况下安全软件的快速查杀只查杀特定目录;
2.报出流量的设备是否为开启了DNS服务、代理服务、端口转发等可能转发流量的业务,在这种情况下,可能是转发其他主机的流量产生的告警,需要定位到真正中毒的主机进行查杀。
定位挖矿
普通开源挖矿程序
如果感觉主机突然出现明显的卡顿,可以打开任务管理器,查看CPU使用率,中了挖矿木马时,用任务管理器可能会看到存在奇怪的进程,CPU占用率较高,比如下图中,LogonUI.exe占用的CPU明显高于其他进程,并且进程描述中有很明确的“XMRigCPUminer”信息:
或者使用ProcessHacker等工具查看进程,可以看到对应程序的图标,大多数集成开源挖矿程序的木马,运行后都会带有如下“Xr”的图标:
有时候攻击者为了让挖矿木马不被发现,可能会通过服务等方式启动挖矿程序,这时可以借助内存搜索工具来定位进程,使用工具搜索挖矿域名或相关字符串:
内存搜索工具下载链接
64位系统下载链接:
http://edr.sangfor.com.cn/tool/SfabAntiBot_X64.7z
32位系统下载链接:
http://edr.sangfor.com.cn/tool/SfabAntiBot_X86.7z
判断挖矿进程的存在需要一定的经验,不一定占用CPU高、导致卡顿的进程都是挖矿进程,要注意区别是否为系统配置问题导致的卡顿。通常情况下,挖矿木马都会有系统驻留模块,会通过计划任务、服务等方式不断的拉起恶意进程,因此仅结束进程不一定能有效的清除,建议使用专业的安全软件进行处置。
无文件挖矿
无文件挖矿主要通过注册表、计划任务等方式将恶意的powershell、cmd命令驻留在系统中,定时拉起,较为明显的现象是出现可疑的powershell或cmd进程,参数中带有恶意的命令:
通常情况下,无文件挖矿仅通过结束进程是无法完全清除的,系统中可能残留恶意的计划任务:
或是恶意的WMI,需要全部进行删除才能彻底清除木马:
Fonts目录隐藏挖矿木马
C:WindowsFonts目录是Windows系统下用于存放字体文件的目录,有一些病毒会将自身的程序隐藏在该目录下,例如Explorer一键挖矿,正常使用资源管理器在Fonts目录下无法查看到木马文件,需要借助PCHunter工具查看。
使用资源管理器查看Fonts目录,即使搜索也无法发现异常子目录:
使用PCHunter查看到的Fonts目录下木马文件生成的目录:
如发现Fonts目录下出现arial、Logs、temp、ttf目录,建议立即使用杀毒软件进行全盘扫描和查杀,或参考附录explorer一键挖矿的处置方法手动清除。
网页挖矿
网页挖矿是指攻击者将挖矿木马植入正常网站,只要访问者通过浏览器浏览被恶意植入了网页挖矿木马站点,浏览器会即刻执行挖矿指令。
常见的网页挖矿木马有:
Coinhive、JSEcoin、CryptoLoot、DeepMiner、Webmine、AuthedMine、BrowserMine、Coinimp、CryptoWebMiner、Ppoi等。
网页挖矿的主要特征为,访问挖矿站点时,CPU使用率会剧增,退出挖矿站点访问后,CPU使用率瞬间下降:
网页挖矿脚本的代码中通常会包含“miner”字符串,具有一定的辨识度:
驱动挖矿
驱动挖矿是指挖矿木马通过注册驱动的方式驻留在系统中以确保持久性,ProtectionX挖矿木马就是其中一种,除了自保护和自启动外,还会释放安装驱动文件,木马运行流程如图:
母体运行后会将自身设置为隐藏属性,并释放win1logon.exe、wuauc1t.exe、ProcessExtended.dll,并且释放一个快捷方式用于带参数启动wuauc1t.exe:
同时会在temp目录下释放随机字符命名的驱动文件,并通过注册成服务hy5.5,对应的注册表键值如下:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetserviceshy5.5
并为母体1sass.exe添加注册表自启动:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunRegistered font
Docker挖矿
Docker是指攻击者将挖矿程序打包到Docker镜像中,上传到Docker Hub,当用户pull下来运行使用时,挖矿进程就偷偷的执行了,下面给出一个Docker挖矿的排查示例。
使用命令查看挖矿进程:
ps–elf|grepxmrig
查看主机上的Docker镜像:
docker container ls
进入Docker,查看执行的进程:
docker exec –it f546 sh #(f546为后台容器的NAMES或容器的进程ID)
ps–elf
某些挖矿木马会集成一些比较复杂的僵尸网络或木马程序来达到相互下载、持久驻留的目的,如Mykings僵尸网络、Mirai僵尸网络、暗云三大家族捆绑传播,会利用SQL SERVER弱密码入侵用户主机,捆绑下载该三种木马程序。
主机遭到感染时,除了MBR遭到感染、生成恶意WMI、服务、计划任务外,数据库中还会残留恶意的作业和存储过程,用于定时执行恶意命令,下载组合木马的其他模块。
排查数据库作业,出现如下执行恶意命令的作业:
排查数据库存储过程,会执行ExecCode对象:
通过查询Transact-SQL中的项,发现执行的对象ExecCode:
再通过对象名称查询sys.assembly_files表,找到ExecCode对应的content内容,包含一个十六进制的PE文件:
除了恶意的数据库作业和存储过程,主机上可能还有其他残留的恶意文件和注册表项、WMI等,都需要进行清理:
Mykings木马在不同的主机环境上的具体表现可能会不同,需要详细的排查和处置才能完全清理,详细排查可参见附录。由于目前的杀毒软件都不会清理数据库中的内容,如发现主机感染Mykings木马,应及时联系专业的安全人员进行排查和处置。
安全软件
1.安装杀毒软件;
2.及时更新病毒库;
3.定时全盘查杀。
口令管理
1.主机和数据库都要避免使用弱口令;
2.避免多个设备使用相同口令。
漏洞管理
1.定期对系统进行漏洞扫描,及时修复漏洞,特别是挖矿木马常用的“永恒之蓝”漏洞;
2. Web服务器要及时更新组件,安装软件补丁;
3.对于数据库要及时更新数据库管理软件补丁。
安全意识宣传
破解软件别滥用,邮件附件要当心
定期杀毒别偷懒,电脑卡顿才麻烦
简单密码一时爽,数据恢复火葬场
网络安全靠大家,保护信息你我他
深信服整体解决方案
(略)
注:本文来源:深信服千里目安全实验室