应急响应手册-Windows 挖矿病毒查杀以及修复实践

应急响应手册-Windows 挖矿病毒查杀及修复实践

1.0 概述:Windows 挖矿病毒是一类通过非法占用用户计算机资源(如 CPU、GPU)进行加密货币挖掘的恶意软件。这类病毒通常伪装成合法程序,通过钓鱼邮件、恶意下载、漏洞利用等方式传播,并在用户不知情的情况下持续运行,导致系统性能下降、硬件损耗增加,甚至可能引发数据泄露或成为网络攻击的跳板。

1.1 挖矿为受益者带来的利益

从“第一届帕鲁杯”初识挖矿病毒至今,多数人仅关注其危害(如系统高负载),但需先理解其获利逻辑——核心是非法算力窃取

1.1.1 挖矿的本质

挖矿本质是通过“算力竞争”获取加密货币奖励的过程,可类比为“分布式计算竞赛”:  
假设需计算一组复杂数据(如爆破 MD5 哈希、验证区块链交易),算力越高(计算速度越快),越容易获得奖励。  
当攻击者不愿承担高算力设备的采购/运维成本时,便通过挖矿病毒控制大量用户设备,形成“僵尸矿场”,聚合分散算力参与竞赛,最终将获得的加密货币兑换为现金非法获利。

1.1.2 挖矿病毒获利全流程

1
2
3
4
5
6
7
graph LR
A[病毒入侵] --> B[控制目标电脑]
B --> C[窃取 CPU/GPU 算力+电力]
C --> D[聚合算力参与挖矿]
D --> E[获得加密货币]
E --> F[兑换为现金]
F --> G[攻击者非法获利]

1.2 准备阶段

准备阶段的核心是获取威胁线索(IOC) ,为后续排查、查杀提供精准目标。

2.1 IOC:Indicator of Compromise(威胁指标/入侵指标)

在网络安全领域,IOC 是证明系统“已被入侵”的具体证据或特征,相当于安全人员排查的“破案线索”。通过内⽹ DNS 服务器、DNS 防⽕墙、流量审计设备、主机安全工具可获取 IOC,核心类型为“域名、IP 地址、文件 MD5”。

2.1.1 IOC 的核心作用

将抽象的“攻击行为”转化为可检测、可验证的具体特征,解决三大问题:

  • 系统是否已感染挖矿病毒?
  • 病毒通过什么路径入侵(如恶意 IP、钓鱼文件)?
  • 病毒入侵后留下了哪些痕迹(如篡改的注册表、残留进程)?

2.1.2 IOC 的主要类型(结合挖矿病毒场景)

不同类型的 IOC 对应攻击的不同阶段,是定位挖矿病毒的关键依据:

类型 核心特征(举例) 与挖矿病毒的关联场景
1. 文件类 IOC - 恶意文件哈希(MD5/SHA256,唯一标识文件)
- 恶意文件名/路径(如 minerd.exe
- 恶意 DLL(如 snmpstorsrv.dll
挖矿病毒会释放 xmrig.exe 等挖矿程序,其 SHA256 哈希可精准定位文件是否存在于系统中。
2. 网络类 IOC - 矿池 IP(如 144.76.xx.xx
- 矿池域名(如 monero.example.com
- 异常端口(如 TCP 3333)
挖矿病毒需持续连接矿池提交算力,拦截矿池 IP/域名可阻断挖矿通信。
3. 系统配置类 IOC - 异常注册表自启项(如 HKEY_CURRENT_USER\Run\Miner
- 恶意计划任务(定时启动挖矿程序)
- 伪装系统服务(如 svchost_miner.exe
挖矿病毒为实现“开机自启”,常修改注册表/创建计划任务,此类配置是隐藏挖矿程序的关键痕迹。
4. 进程/行为类 IOC - 异常进程名(如伪装系统进程的 svchost_miner.exe
- 进程异常关联(普通进程加载恶意 DLL)
- 资源占用特征(CPU 长期 100%)
挖矿病毒后台运行高资源占用进程,“CPU/GPU 持续满负载”是最直观的行为 IOC。

2.2 获取 IOC 情报

IOC 情报来源分为“公开免费”“商业付费”“行业共享”三类,应急场景优先使用公开平台快速获取线索:

2.2.1 公开威胁情报平台(OSINT)

  • VirusTotal:最常用多引擎检测平台,支持上传可疑文件/查询 IP/域名/哈希,聚合 100+ 杀毒引擎结果。  
      链接:https://www.virustotal.com  
  • AlienVault OTX:开源威胁情报社区,支持订阅实时威胁流(Pulse),日均更新 1900 万条 IOC。  
      链接:https://otx.alienvault.com  
  • IBM X-Force Exchange:整合 IBM 威胁狩猎团队的 APT 报告,提供恶意软件家族画像。  
      链接:https://exchange.xforce.ibmcloud.com  
  • Github:安全研究人员会公开在野攻击的 IOC(如挖矿病毒哈希、矿池 IP 列表),可搜索关键词“CoinMiner IOC”。

2.2.2 商业威胁情报馈送(企业级)

大型企业可付费订阅专业厂商情报,如 FireEye(Mandiant)、CrowdStrike、Kaspersky,这类情报更新更快、上下文更全(如攻击组织归属)。

2.2.3 行业信息共享组织(ISAC/ISAO)

金融、能源、交通等关键行业设有内部信息共享中心(如中国金融 ISAC),成员单位可共享行业内发现的挖矿病毒 IOC。

2.3 根据 IOC 确定挖矿程序家族类型

通过威胁情报平台查询 IOC,可关联挖矿病毒的具体家族(如 XMRig、Minerd、Coinhive),为后续查杀提供针对性方案。以下是核心平台的功能与链接:

2.3.1 全球通用平台

平台名称 官方链接 核心功能(针对挖矿病毒)
VirusTotal https://www.virustotal.com 多引擎检测+威胁关联,2025 年新增“APT 追踪”模块,可关联矿池 C2 地址与样本哈希。
AlienVault OTX https://otx.alienvault.com 众包情报库+实时威胁流,支持导出 STIX/OpenIOC 格式,2025 年新增暗网舆情监测(追踪矿场信息)。
IBM X-Force Exchange https://exchange.xforce.ibmcloud.com 提供挖矿病毒家族画像、攻击手法溯源,2025 年推出“零信任威胁建模”(模拟横向移动路径)。
ThreatMiner https://www.threatminer.org 支持 IP/域名的 PDNS 溯源、SSL 证书查询,适合追踪矿池服务器历史解析记录。

2.3.2 国内厂商平台

平台名称 官方链接 核心功能(针对挖矿病毒)
微步在线(X情报社区) https://x.threatbook.cn IP/域名/哈希的 PDNS 溯源、子域名爆破,2025 年新增“APT 组织 TTP 映射”(匹配 MITRE ATT&CK)。
360 威胁情报中心 https://ti.360.net 依托 200 亿级样本库,提供挖矿病毒漏洞情报、勒索软件解密工具,2025 年推出“威胁狩猎工作台”。
深信服威胁情报中心 https://ti.sangfor.com.cn/analysis-platform 聚焦工控/金融行业,提供 SCADA 异常流量特征、挖矿木马 IOC,2025 年收录 2.3 万+红队工具特征。
安恒威胁情报中心 https://ti.dbappsecurity.com.cn 漏洞情报订阅(CVE/CNVD 优先级排序)、APT 追踪,2025 年揭露 Lazarus 组织攻击能源设施细节。

2.4 定位异常进程(获取 PID)

挖矿病毒的核心特征是“高 CPU/GPU 占用”,优先通过工具排查资源占用异常的进程,获取其 PID(进程 ID)。

2.4.1 图形化工具(直观排查)

  1. 任务管理器:  
       - 打开方式:Ctrl+Shift+Esc 或右键任务栏 →“任务管理器”;  
       - 操作:切换至“详细信息”标签,点击“CPU”列标题降序排序,高占用且名称可疑的进程(如无图标、描述为空)即为疑似目标。  
         ![任务管理器详细信息界面(CPU 排序)]

  1. Process Explorer(进阶工具):  
       - 功能:比任务管理器更详细,支持查看进程树、文件路径、关联 DLL;  
       - 下载链接:

  1. System Informer(强功能替代):  
       - 功能:支持杀线程、检测隐藏进程,适合应对顽固挖矿病毒;  
       - 下载链接:https://systeminformer.sourceforge.io/  
         ![System Informer 进程监控界面]

2.4.2 PowerShell 命令(脚本化排查)

通过命令快速筛选 Top 5 高 CPU 占用进程,适合批量排查或远程操作:

1
2
# 按 CPU 使用率降序排序,显示前 5 个进程的“名称、PID、CPU 占用”
Get-Process | Sort-Object -Property CPU -Descending | Select-Object -First 5 ProcessName, Id, CPU

2.5 排查异常网络连接

挖矿病毒需持续与矿池通信,通过资源监视器可定位异常网络连接,辅助确认恶意进程。

2.5.1 打开资源监视器

  • 方式 1:任务管理器 →“性能”标签 → 点击右下角“打开资源监视器”;  
  • 方式 2:Win+R 输入 resmon 回车。

2.5.2 筛选网络连接

  • 切换至“网络”标签,点击“发送字节/接收字节”列标题排序,重点关注:  
      1. 无明确归属的进程(如“未知进程”);  
      2. 连接境外 IP/可疑域名的进程(结合 IOC 中的矿池地址验证)。

 

2.6 寻找恶意样本(定位文件路径与时间)

找到异常进程后,需进一步确认其对应的恶意文件路径、启动时间,为后续删除和溯源提供依据。

2.6.1 定位恶意文件路径

方法 1:Process Explorer
  1. 右键疑似进程 →“属性”;  
  2. 切换至“图像”标签,“图像路径”即为恶意文件的完整路径;  
       ![Process Explorer 进程属性(图像路径)]

方法 2:PowerShell 脚本(精准查询)

已知异常进程 PID 时,通过脚本获取文件路径、命令行参数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 替换为实际异常进程 PID
$maliciousPid = 43788  
$process = Get-WmiObject -Class Win32_Process -Filter "ProcessId = $maliciousPid"  


if ($process) {
    Write-Host "Process Name: " -NoNewline -ForegroundColor Green
    Write-Host $process.Name
   
    Write-Host "Process Path: " -NoNewline -ForegroundColor Green
    Write-Host $process.ExecutablePath
   
    Write-Host "Command Line: " -NoNewline -ForegroundColor Green
    Write-Host $process.CommandLine
} else {
    Write-Host "Process with PID $maliciousPid not found" -ForegroundColor Red
}

2.6.2 确认进程与文件的时间关联性

对比“进程启动时间”与“文件修改时间”,验证文件是否为启动进程的主体(避免误判)。

方法 1:PowerShell 脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 替换为实际异常进程 PID
$maliciousPid = 6512  


try {
    $process = Get-Process -Id $maliciousPid -ErrorAction Stop
    $startTime = $process.StartTime
    Write-Host "Process PID: $maliciousPid start time: " -NoNewline -ForegroundColor Green
    Write-Host $startTime.ToString("yyyy-MM-dd HH:mm:ss.fff")
}
catch [Microsoft.PowerShell.Commands.ProcessCommandException] {
    Write-Host "Error: Process with PID $maliciousPid not found" -ForegroundColor Red
    Write-Host "Possible reasons: Process has ended or PID is incorrect" -ForegroundColor Yellow
}
catch {
    Write-Host "An error occurred: $($_.Exception.Message)" -ForegroundColor Red
}

方法 2:图形化工具
  • Process Explorer:右键进程 →“属性”→“图像”标签,查看“创建时间”;  

  • 文件浏览器:定位恶意文件路径,右键 →“属性”→“常规”标签,查看“修改时间”;  

2.7 处理恶意程序

处理流程需遵循“样本采样→威胁分析→进程查杀→残留清理”,避免误删系统文件或遗漏恶意残留。

2.7.1 恶意文件样本采样

  • 操作:在隔离环境(非生产机)中,复制恶意文件至 U 盘或加密压缩包,命名格式为“恶意文件名_PID_采集时间.zip”(如 xmrig.exe_43788_20250905.zip);  
  • 用途:后续上传至沙箱分析,确认病毒家族及行为。

2.7.2 恶意样本威胁分析

通过沙箱平台或多引擎检测,验证样本是否为挖矿病毒、所属家族及危害范围,核心平台如下:

平台类型 平台名称 官方链接 核心功能
多引擎检测 VirusTotal https://www.virustotal.com 聚合 100+ 杀毒引擎,检测文件是否为恶意,关联 IOC 情报。
国内沙箱 微步云沙箱 https://s.threatbook.com 动态分析样本行为(如注册表修改、网络连接),生成可视化报告。
国内沙箱 哈勃分析系统(腾讯) https://habo.qq.com 基于腾讯安全大数据,支持 Windows/安卓样本分析,提供挖矿行为标记。
国际沙箱 HYBRID Analysis https://www.hybrid-analysis.com 记录样本动态行为、网络通信日志,支持下载完整分析报告。
行业专项沙箱 奇安信情报沙箱 https://sandbox.ti.qianxin.com 深度分析挖矿病毒攻击链路,输出 IOC 与防御建议。

使用建议:优先上传至 微步云沙箱(国内情报全)+ VirusTotal(多引擎验证),交叉确认样本属性。

2.7.3 进程查杀(核心步骤)

挖矿病毒可能通过“进程保护”“多进程守护”防止被杀死,需按“暂停验证→单进程查杀→进程树查杀”逐步操作。

步骤 1:暂停进程(验证影响)
  • 目的:确认暂停进程后,系统资源占用是否恢复正常,避免误杀关键进程;  
  • 操作:  
      - Process Explorer/System Informer:右键进程 →“Suspend”(暂停);  
      - 验证:观察 CPU/GPU 占用率是否下降,系统是否恢复正常响应。
步骤 2:杀死单个进程
  • 命令行方式(管理员权限):  
     
    1
    2
      # 强制杀死指定 PID 的进程(替换为实际 PID)
      taskkill /F /PID 43788

     
    1
    2
      # PowerShell 强制杀死进程
      Stop-Process -Id 43788 -Force

步骤 3:杀死进程树(应对多进程守护)

若恶意进程有子进程(如父进程启动多个挖矿子进程),需杀死整个进程树:

  • Process Explorer:  
      1. 点击顶部“Show Process Tree”(显示进程树);  
      2. 右键父进程 →“Kill Process Tree”(杀死进程树);  
  • System Informer:  
      右键父进程 →“Terminate Process Tree”。
步骤 4:线程级查杀(高危,谨慎使用)

若进程无法杀死(如被 Rootkit 保护),可尝试杀死其核心线程(仅在确认线程为恶意时操作):  

  • System Informer:右键进程 →“Threads”→ 选中高 CPU 占用线程 →“Terminate Thread”;  
      ![System Informer 杀死线程]

2.7.4 清理恶意残留(避免死灰复燃)

挖矿病毒常通过“注册表自启”“计划任务”“系统服务”实现持久化,仅杀死进程无法根除,需逐一清理。

1. 清理注册表残留
  • 打开注册表编辑器:Win+R 输入 regedit 回车;  
  • 重点删除以下路径中的恶意自启项(路径指向恶意文件的键值):  
      1. 当前用户自启:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run  
      2. 系统全局自启:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run  
  • 操作:右键可疑键值 →“删除”,删除前建议备份注册表(文件 → 导出 → 命名为“Registry_Backup_日期.reg”)。  
2. 清理计划任务残留
  • 打开计划任务:Win+R 输入 taskschd.msc 回车;  
  • 排查“任务计划程序库”,删除以下任务:  
      1. 触发器为“登录时”“启动时”的可疑任务;  
      2. 操作路径指向恶意文件的任务;  
  • 操作:右键任务 →“删除”,注意勾选“显示隐藏的任务”(顶部“查看”菜单),避免遗漏隐藏任务。
3. 清理系统服务残留
  • 打开服务管理器:Win+R 输入 services.msc 回车;  
  • 排查“状态为正在运行”“启动类型为自动”的服务,删除以下服务:  
      1. 服务名称可疑(如“Windows Miner Service”);  
      2. 可执行文件路径指向非系统目录(如 C:\Windows\Temp);  
  • 操作:  
      1. 右键服务 →“属性”→“停止”(若无法停止,用命令 sc delete 服务名 强制删除);  
      2. 右键服务 →“删除”。
4. 解除文件锁定并删除

部分恶意文件因被进程占用(或设置“隐藏/系统属性”)无法直接删除,需先解除锁定:

1
2
3
4
5
6
7
handle.exe "C:\Windows\Temp\xmrig.exe"
# 3. 结束占用进程(PID 为上一步输出的进程 ID)
taskkill /F /PID 1234
# 4. 去除文件隐藏/系统属性(若有)
attrib -h -s "C:\Windows\Temp\xmrig.exe"
# 5. 强制删除文件
del /F /Q "C:\Windows\Temp\xmrig.exe"

3.0 进阶排查:应对隐藏型挖矿病毒

部分挖矿病毒(如 Win32/CoinMiner 变种)会用 Rootkit 技术 隐藏进程/文件,常规工具无法发现,需用专业工具深度排查。

3.1 检测隐藏进程

3.1.1 Process Hacker(Rootkit 检测)

  • 下载链接:https://processhacker.sourceforge.io/  
  • 操作:  
      1. 打开后点击“设置”→“内核”→“启用内核模式”;  
      2. 切换至“进程”标签,右键 →“显示隐藏进程”;  
      3. 重点关注:无图标、描述为空、CPU 占用异常的进程。

3.1.2 Sysmon(系统行为监控)

  • 功能:记录进程创建、文件写入、网络连接等底层行为,可捕捉隐藏进程;  
  • 下载链接:https://learn.microsoft.com/zh-cn/sysinternals/downloads/sysmon  
  • 配置步骤:  
      1. 新建配置文件 SysmonConfig.xml(内容如下);  
      2. 管理员 PowerShell 执行:sysmon64.exe -i SysmonConfig.xml;  
      3. 查看日志:事件查看器 → 应用程序和服务日志 → Microsoft → Windows → Sysmon → Operational,筛选“事件 ID 1”(进程创建)。
1
2
3
4
5
6
7
8
9
10
11
12
13
<!-- Sysmon 配置文件:监控挖矿程序相关行为 -->
<Sysmon schemaversion="4.82">
  <EventFiltering>
    <ProcessCreate onmatch="include">
      <!-- 监控挖矿程序常用路径 -->
      <Image condition="contains">C:\Windows\Temp</Image>
      <Image condition="contains">C:\Users\Public</Image>
      <!-- 监控常见挖矿程序名 -->
      <Image condition="contains">xmrig</Image>
      <Image condition="contains">minerd</Image>
    </ProcessCreate>
  </EventFiltering>
</Sysmon>

3.2 检测 GPU 挖矿病毒

常规排查侧重 CPU 挖矿,GPU 挖矿(利用 NVIDIA/AMD 显卡)需补充以下方法:

  1. 任务管理器:  
       切换至“性能”→“GPU”,查看“3D”“视频编码”占用率,未知进程长期占用 90%+ 即为疑似目标;  
  2. 厂商工具:  
       - NVIDIA:打开 GeForce Experience →“性能”→“详细信息”;  
       - AMD:打开 Radeon Software →“性能”→“进程”。

4.0 预防阶段:构建长期防御体系

挖矿病毒的入侵路径多为“漏洞利用”“恶意下载”“钓鱼邮件”,需从“入口防护”“权限控制”“定期监控”三方面预防。

4.1 漏洞防护(阻断入侵入口)

  1. 强制系统更新:  
       开启 Windows 自动更新(设置 → Windows 更新 → 高级选项 → 自动下载并安装更新),重点修复远程代码执行漏洞(如 MS17-010、ProxyShell);  
  2. 第三方软件补丁:  
       定期更新浏览器(Chrome/Edge)、办公软件(Office)、开发工具(Java/Python),卸载停止维护的软件(如 Flash)。

4.2 权限与访问控制

  1. 最小权限原则:  
       普通用户设为“标准用户”(控制面板 → 用户账户 → 更改账户类型),避免病毒通过普通账户修改系统配置;  
  2. 网络访问控制:  
       - 配置 Windows 防火墙:添加出站规则,阻断已知矿池 IP/域名;  
       - 企业环境:通过路由器限制员工电脑访问境外矿池 IP 段(如 144.76.xx.xx)。

4.3 定期监控与告警

  1. 日常扫描:  
       安装 EDR 工具(如 360 天擎、火绒终端安全),开启实时防护,每周执行全盘扫描;  
  2. 资源监控脚本:  
       用 PowerShell 写定时脚本,CPU/GPU 占用超阈值时弹窗告警:
       
    1
    2
    3
    4
    5
    6
    7
    8
       # 每 5 分钟检查一次 CPU 占用,超 90% 弹窗告警
       while($true){
         $cpuUsage = Get-Counter -Counter "\Processor(_Total)\% Processor Time" | Select-Object -ExpandProperty CounterSamples | Select-Object -ExpandProperty CookedValue
         if($cpuUsage -gt 90){
           [System.Windows.MessageBox]::Show("CPU 占用率超过 90%,可能存在挖矿行为!","告警","OK","Error")
         }
         Start-Sleep -Seconds 300
       }

5.0 应急复盘:避免二次感染

每次查杀完成后,需复盘以下内容,定位问题根源:

  1. 感染路径分析:  
       结合 Sysmon 日志、浏览器下载记录、邮件记录,判断病毒是通过“钓鱼附件”“恶意链接”还是“漏洞利用”入侵;  
  2. IOC 情报更新:  
       将本次发现的新恶意文件哈希、矿池 IP 加入企业 IOC 库,同步至防火墙、EDR 工具;  
  3. 员工培训:  
       针对感染路径开展安全培训(如“不打开陌生邮件附件”“不从非官方网站下载软件”)。

附录:核心工具清单

工具类型 工具名称 核心用途 官方链接
进程排查 Process Explorer 查看进程树、文件路径、关联 DLL https://learn.microsoft.com/zh-cn/sysinternals/downloads/process-explorer
进程排查 System Informer 杀线程、检测隐藏进程 https://systeminformer.sourceforge.io/
系统监控 Sysmon 记录进程创建、文件写入等底层行为 https://learn.microsoft.com/zh-cn/sysinternals/downloads/sysmon
文件解锁 Handle 解除恶意文件的进程占用 https://learn.microsoft.com/zh-cn/sysinternals/downloads/handle
样本分析 微步云沙箱 动态分析恶意文件行为 https://s.threatbook.com
样本分析 VirusTotal 多引擎验证恶意文件 https://www.virustotal.com
终端防护 火绒终端安全 实时防护、挖矿病毒查杀 https://www.huorong.cn