什么是挖矿
-
挖矿:即比特币挖矿,是一种利用电脑硬件计算出比特币的位置并获取的过程。
-
区块链:每一个区块对应一个帐单,将所有的区块链接起来就是区块链,任何交易信息和转账记录都记录在区块链中。
-
国家政策:2022 年 1 月,发改委等 11 部门发文整治虚拟货币挖矿:列为淘汰类产业。
什么是挖矿木马
挖矿木马主要就是通过利用各种手段,将挖矿程序植入到用户的计算机中,在用户不知情的情况下,偷偷利用用户的计算机进行执行挖矿功能,从而获取收益。
现在的挖矿木马存在种类非常多,常见的如:
- 普通开源的挖矿程序
- 无文件模式的挖矿程序
- 网页模式的挖矿程序
- 驱动模式的挖矿程序
- Docker 模式的挖矿程序。
如何排查挖矿木马
发现挖矿木马
-
cpu 的使用率,中了挖矿木马,因为会在系统中运行挖矿程序,使得计算机在正常运行下会变得非常卡顿,并且 CPU 的使用率会变得非常高,甚至会达到 100%。
-
通过杀毒软件(天擎)进行全盘查杀,如果计算机中有存在挖矿木马的样本程序,杀毒软件一般情况下是可以查杀。
-
通过抓包工具(Wireshark)进行查看分析流量,从流量中去分析排查可疑的流量数据包。
定位挖矿木马
普通开源挖矿程序
很多用户可能同时使用了流量产品和终端杀软进行联动,会出现流量报
了挖矿木马的威胁,但是终端杀软却没有查杀到病毒,是什么原因呢?
可能是下面两种情况:
-
是否使用了全盘查杀,很多情况下安全软件的快速查杀只查杀特定目
录; -
报出流量的设备是否为开启了 DNS 服务、代理服务、端口转发等可能
转发流量的业务,在这种情况下,可能是转发其他主机的流量产生的告警,需要定位到真正中毒的主机进行查杀。
如果感觉主机突然出现明显的卡顿,可以打开任务管理器,查看 CPU 使用率,中了挖矿木马时,用任务管理器可能会看到存在奇怪的进程,CPU 占用率较高,比如下图中,LogonUI.exe 占用的 CPU 明显高于其他进程,并且进程描述中有很明确的***“XMRig CPUminer”***信息:
或者使用 ProcessHacker 等工具查看进程,可以看到对应程序的图标,大多数集成开源挖矿程序的木马,运行后都会带有如下“Xr”的图标:
有时候攻击者为了让挖矿木马不被发现,可能会通过服务等方式启动挖矿程序,这时可以借助内存搜索工具来定位进程,使用工具搜索挖矿域名或相关字符串。
判断挖矿进程的存在需要一定的经验,不一定占用 CPU 高、导致卡顿的进
程都是挖矿进程,要注意区别是否为系统配置问题导致的卡顿。通常情况下,
挖矿木马都会有系统驻留模块,会通过计划任务、服务等方式不断的拉起恶
意进程,因此仅结束进程不一定能有效的清除,建议使用专业的安全软件进
行处置。
内存搜索工具下载链接
64 位系统下载链接:
http://edr.sangfor.com.cn/tool/SfabAntiBot_X64.7z
32位系统下载链接:
http://edr.sangfor.com.cn/tool/SfabAntiBot_X86.7z
无文件挖矿
无文件挖矿主要通过注册表、计划任务等方式将恶意的 powershell、
cmd 命令驻留在系统中,定时拉起,较为明显的现象是出现可疑的
powershell 或 cmd 进程,参数中带有恶意的命令:
通常情况下,无文件挖矿仅通过结束进程是无法完全清除的,系统中可
能残留恶意的计划任务,或是恶意的 WMI(是一项核心的 Windows 管理技术),需要全部进行删除才能彻底清除木马:
Fonts 目录隐藏挖矿木马
C:\Windows\Fonts 目录是 Windows 系统下用于存放字体文件的目录,有
一些病毒会将自身的程序隐藏在该目录下,例如 Explorer 一键挖矿,正常
使用资源管理器在 Fonts 目录下无法查看到木马文件,需要借助 PCHunter
工具查看。
使用资源管理器查看 Fonts 目录,即使搜索也无法发现异常子目录:
使用PCHunter查看到的Fonts目录下木马文件生成的目录,如发现 Fonts 目录下出现 arial、Logs、temp、ttf 目录,建议立即
使用杀毒软件进行全盘扫描和查杀。
网页挖矿
网页挖矿是指攻击者将挖矿木马植入正常网站,只要访问者通过浏览器浏览被恶意植入了网页挖矿木马站点,浏览器会即刻执行挖矿指令。常见的网页挖矿木马有:
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_MACHINE\SYSTEM\CurrentControlSet\services\hy5.5
并为母体 1sass.exe 添加注册表自启动:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Registered font
Docker 挖矿
Docker 是指攻击者将挖矿程序打包到 Docker 镜像中,上传到 Docker Hub,当用户 pull 下来运行使用时,挖矿进程就偷偷的执行了,下面给出一个 Docker 挖矿的排查示例。
使用命令查看挖矿进程:
linux 下使用 ps -aux|grep “木马进程名” 即可找到对应路径和文件
其他
某些挖矿木马会集成一些比较复杂的僵尸网络或木马程序来达到相互下载、持久驻留的目的,如 Mykings 僵尸网络、Mirai 僵尸网络、暗云三大家族捆绑传播,会利用 SQL SERVER 弱密码入侵用户主机,捆绑下载该三种木马程序。
主机遭到感染时,除了 MBR 遭到感染、生成恶意 WMI、服务、计划任务外,数据库中还会残留恶意的作业和存储过程,用于定时执行恶意命令,下载组合木马的其他模块。
清除挖矿木马
定位到木马后,需要对其进行清除操作,挖矿木马麻烦的就是系统驻留,windows 推荐微软的 autoruns,免去了花里胡哨的看手动查注册表、手动看启动项这些操作。找到与挖矿进程和木马相关的 计划任务、服务、WMI 等,进行清理即可。当然此前肯定需要结束木马进程并删除木马文件,然后重启后观察是出现问题。
定位到木马后,需要对其进行清除操作,挖矿木马麻烦的就是系统驻留,
windows 推荐微软的 autoruns,免去了花里胡哨的看手动查注册表、手动看启动项这些操作。
找到与挖矿进程和木马相关的 计划任务、服务、WMI 等,进行清理即可。当然此前肯定需要结束木马进程并删除木马文件,然后重启后观察是出现问题。
linux 下基本都是写在定时任务中 crontab -l 命令或 ls /var/spool/cron/ 查看有无可疑内容。
找到木马脚本后,将其一起进行清理
溯源挖矿木马
对于木马的溯源,根据日志的分析结果为主,如果仅开放了 web 服务端口,根据时间定位范围后进行排查,如果开放了其他端口,需要根据脚本创建时间去进行排查,思路有限以能直接获取系统权限的问题为切入点,linux 下例如管理软件问题 ssh 的弱口令,系统漏洞问题,redis 未授权问题,应用层问题中间件 weblogic 的 rce 这类。
windows 下除了网站日志外以系统日志为主。
linux 下日志较多,可以参考如下路径进行分析
-
路径1:/var/log/messages:记录 Linux 内核消息及各种应用程序的公共日志信息
-
路径2:/var/log/cron:记录 crond 计划任务产生的事件信息
-
路径3:/var/log/dmesg:记录 Linux 操作系统在引导过程中的各种事件信息
-
路径4:/var/log/maillog:记录进入或发出系统的电子邮件活动
-
路径5:/var/log/lastlog:记录每个用户最近的登录事件
-
路径6:/var/log/secure:记录用户认证相关的安全事件信息
-
路径7:/var/log/wtmp:记录每个用户登录、注销及系统启动和停机事件
-
路径8:/var/log/btmp:记录失败的、错误的登录尝试及验证事件
加固与防护
-
安全软件
- 安装杀毒软件;
- 及时更新病毒库;
- 定时全盘查杀。
-
口令管理
- 主机和数据库都要避免使用弱口令;
- 避免多个设备使用相同口令。
-
漏洞管理
- 定期对系统进行漏洞扫描,及时修复漏洞,特别是挖矿木马常用的“永恒之蓝”漏洞;
- Web服务器要及时更新组件,安装软件补丁;
- 对于数据库要及时更新数据库管理软件补丁。