news 2026/9/20 9:52:37

彻底清除exe病毒与xmrig挖矿木马:从进程到持久化的完整操作指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
彻底清除exe病毒与xmrig挖矿木马:从进程到持久化的完整操作指南

1. 先搞清楚你面对的是什么:exe病毒与xmrig挖矿木马的典型行为特征

很多人一看到任务管理器里某个.exe进程 CPU 占用飙到 90% 以上,第一反应就是“中毒了”,然后直接结束进程、删掉文件,重启之后发现它又回来了。这种“杀不死”的体验,几乎每个处理过 exe 病毒的人都有过。问题的根源在于:你看到的那个 exe 只是冰山一角,真正让病毒复活的机制藏在服务、计划任务、注册表启动项、甚至 WMI 事件订阅里。

先说说 exe 病毒这个说法的实际含义。严格来讲,“exe 病毒”不是一个病毒分类,而是普通用户对“以 .exe 可执行文件形式存在的恶意程序”的统称。它可能是一个下载器(Downloader)、一个远控木马(RAT)、一个勒索软件的前置载荷,也可能是近几年最泛滥的挖矿木马。结合热搜词xmrig怎么彻底清除来看,当前大量用户遇到的正是XMRig 挖矿木马——它是门罗币(Monero)的挖矿程序,被攻击者改造后植入受害者机器,利用你的 CPU/GPU 算力替他们挖矿牟利。

XMRig 本身是一个开源项目,正常用途是矿工自己挖矿。但攻击者会把它重新编译、加壳、混淆,然后通过弱口令爆破、漏洞利用、破解软件捆绑等方式投递到目标机器上。它最典型的特征有三个:进程名伪装(比如伪装成svchost.exeRuntimeBroker.exeSearchIndexer.exe等系统进程名,但路径不对)、CPU 占用异常(常年 50%~100%,风扇狂转)、持久化手段多样(服务、计划任务、注册表、WMI 全用上)。

我处理过的一台机器上,XMRig 同时用了四种持久化方式:一个名为WindowsDefend的服务、一个每 5 分钟触发的计划任务、一个HKCU\...\Run启动项,还有一个 WMI 事件订阅。你只删文件、只结束进程,剩下三个机制里任意一个都会在几分钟内把文件重新下载回来。这就是为什么“彻底清除”这四个字才是关键——不彻底的清除等于没清除。

注意:下面所有操作都涉及系统核心区域,操作前务必先断网(拔网线或禁用网卡),防止病毒在你清理过程中重新下载载荷。同时建议先对重要数据做备份,避免误删。

2. 断网之后第一步:用“异常信号”定位病毒本体,而不是急着删文件

2.1 从 CPU 和网络两个维度锁定可疑进程

断网之后,病毒无法回连 C2 服务器,但已经在本地运行的挖矿进程还会继续跑。这时候打开任务管理器(Ctrl+Shift+Esc),切到“详细信息”标签页,按 CPU 占用排序。XMRig 通常会把 CPU 吃满,但有些变种会限制在 50%~70% 以降低被发现概率。重点看这几类进程:

  • 进程名是系统进程名,但“映像路径”不在C:\Windows\System32下的;
  • 进程名是随机字符串(如a8f3k2.exewinlogon32.exe)的;
  • 进程描述为空或描述信息明显是伪造的;
  • 进程的“命令行”里带有--donate-level--url--userstratum+tcp等矿池参数的。

查看命令行的方法:在任务管理器“详细信息”里右键列头,勾选“命令行”。如果看到类似xxx.exe --url=stratum+tcp://xxx:3333 --user=xxx --pass=x这样的参数,基本可以确认是挖矿木马。

2.2 用系统自带工具做一次“持久化点普查”

定位到可疑进程只是开始,真正要清理的是它的“根”。我习惯用一套组合拳来普查持久化点,这些都是 Windows 自带工具,不需要额外装软件:

第一处:服务(services.msc)

按 Win+R 输入services.msc,按“可执行文件的路径”排序,重点看路径不在C:\Windows\System32下的服务。XMRig 常注册的服务名有WindowsDefendWinDefendServiceSystemSecurityMsMpSvc等,伪装成安全相关服务。注意看服务的“启动类型”,如果是“自动”且路径可疑,记下来。

第二处:计划任务(taskschd.msc)

按 Win+R 输入taskschd.msc,展开“任务计划程序库”,逐个查看。恶意计划任务通常有几个特征:触发器是“重复间隔”且间隔很短(1~10 分钟)、操作是执行某个 exe、名称伪装成系统更新相关(如MicrosoftWindowsUpdateGoogleUpdateTask)。特别留意“隐藏”属性的任务,在任务计划程序里默认不显示,需要用命令行schtasks /query /fo LIST /v才能看到全部。

第三处:注册表启动项

按 Win+R 输入regedit,重点检查这几个位置:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce

第四处:WMI 事件订阅

这是最容易被忽略、也最难清理的一处。攻击者可以创建一个 WMI 事件订阅,让系统在特定时间(比如每 5 分钟)自动执行恶意命令。检查方法:按 Win+R 输入wbemtest,点击“连接”,命名空间填root\subscription,然后依次查询__EventFilter__EventConsumer__FilterToConsumerBinding三个类。如果看到名字奇怪、查询语句里带Timer的条目,基本就是恶意的。

2.3 一个容易被忽略的细节:文件时间戳

在定位病毒文件时,文件的时间戳是重要线索。XMRig 释放的文件通常创建时间集中在某个时间段(就是你中招的那一刻),而系统文件的时间戳是随系统安装时间分布的。在文件资源管理器里打开“详细信息”视图,按“创建日期”排序,如果发现一批 exe/dll 的创建时间都是最近几天甚至几小时,且路径在C:\ProgramDataC:\Users\PublicC:\Windows\Temp%AppData%这些地方,高度可疑。

我处理过的一个案例里,病毒把本体放在C:\ProgramData\WindowsCache\下,文件名是svchost.exe,但真正的系统 svchost 在C:\Windows\System32\。只看进程名会以为是系统进程,一看路径就露馅了。

3. 彻底清除的完整操作链路:从进程到文件到持久化,一个都不能漏

3.1 正确的清除顺序:先断根,再杀进程,最后删文件

很多人上来就删文件,结果文件被进程占用删不掉,或者删了之后立刻被重新创建。正确的顺序应该是:

  1. 断网(物理断网,禁用所有网卡);
  2. 禁用持久化机制(服务、计划任务、注册表、WMI);
  3. 结束恶意进程(用任务管理器或taskkill);
  4. 删除恶意文件(包括本体、释放的 dll、配置文件、日志);
  5. 清理浏览器和系统缓存(防止残留的下载器再次触发);
  6. 重启并复查(确认没有复活)。

这个顺序的逻辑是:持久化机制是“根”,进程是“干”,文件是“叶”。先断根,进程即使还在跑也无法被重新拉起;再杀进程,文件就不会被占用;最后删文件,才能删干净。

3.2 用命令行批量处理,比手点更可靠

图形界面操作容易漏,我习惯用命令行做批量清理。以下命令需要在管理员权限的 CMD 或 PowerShell 里执行。

查看所有服务的可执行路径:

wmic service get name,displayname,pathname,startmode | findstr /i "auto" | findstr /i /v "C:\\Windows\\"

这条命令会列出所有启动类型为“自动”且路径不在C:\Windows\下的服务,恶意服务基本都会出现在这里。

删除恶意服务:

sc stop 服务名 sc delete 服务名

查看所有计划任务:

schtasks /query /fo LIST /v | findstr /i "TaskName Task_To_Run"

删除恶意计划任务:

schtasks /delete /tn "任务名" /f

结束恶意进程:

taskkill /f /im 恶意进程名.exe taskkill /f /pid 进程PID

删除恶意文件(先解除占用):

takeown /f "文件完整路径" /a icacls "文件完整路径" /grant administrators:F del /f /q "文件完整路径"

takeownicacls这两步很关键。很多病毒会把文件权限改成只有 SYSTEM 才能访问,直接删会提示“拒绝访问”。先用takeown把所有权拿过来,再用icacls给自己完全控制权限,然后才能删掉。

3.3 WMI 事件订阅的手动清除

WMI 事件订阅的清除稍微复杂一点,因为wbemtest界面操作不够直观。我一般用 PowerShell 来处理:

Get-WmiObject -Namespace root\subscription -Class __EventFilter | Select Name, Query Get-WmiObject -Namespace root\subscription -Class __EventConsumer | Select Name Get-WmiObject -Namespace root\subscription -Class __FilterToConsumerBinding | Select Filter, Consumer

确认恶意条目后,逐个删除:

Get-WmiObject -Namespace root\subscription -Class __EventFilter -Filter "Name='恶意过滤器名'" | Remove-WmiObject Get-WmiObject -Namespace root\subscription -Class __EventConsumer -Filter "Name='恶意消费者名'" | Remove-WmiObject Get-WmiObject -Namespace root\subscription -Class __FilterToConsumerBinding -Filter "Filter='__EventFilter.Name=\"恶意过滤器名\"'" | Remove-WmiObject

删除顺序必须是:先删绑定(Binding),再删消费者(Consumer),最后删过滤器(Filter)。顺序反了会删不掉。

3.4 文件删除之后,还要检查这几个“藏身点”

删掉主文件不代表干净了,XMRig 这类木马通常会在多个位置留备份。以下目录必须逐一检查:

目录路径说明
C:\ProgramData\最常见的藏身点,很多变种在这里建随机名文件夹
C:\Users\Public\权限宽松,病毒喜欢放这里
C:\Windows\Temp\临时目录,容易被忽略
%AppData%\当前用户目录,普通权限即可写入
%LocalAppData%\Temp\同上
C:\Windows\System32\Tasks\计划任务的实际存储位置,有时会残留文件
C:\Windows\SysWOW64\32 位病毒在 64 位系统上的藏身点

检查方法:按“修改日期”排序,看最近几天有没有异常的新文件。特别注意那些名字像系统文件但大小不对的(比如正常的svchost.exe是几十 KB,病毒的可能几 MB)。

4. 为什么你删了又回来:三种最常见的“复活机制”拆解

4.1 守护进程机制:两个进程互相监视

XMRig 的一些变种会同时运行两个进程,A 监视 B,B 监视 A。你杀掉 A,B 立刻把 A 重新拉起来;你杀掉 B,A 又把 B 拉起来。单独杀一个永远杀不干净。

识别方法:在任务管理器里看有没有两个进程名相似、CPU 占用都异常的进程。比如winlogon.exewinlogon1.exe,或者两个随机名进程。处理方法是同时结束两个进程,或者在断网状态下先禁用持久化,再重启进入安全模式,这样守护机制就失效了。

4.2 计划任务触发:每 N 分钟检查一次

这是最常见的复活机制。病毒创建一个计划任务,每 5 分钟执行一次“检查脚本”,如果发现主文件不在了,就从备份位置复制回来,或者从本地缓存的载荷重新释放。

识别方法:用schtasks /query /fo LIST /v查看所有任务,重点看“下次运行时间”和“重复: 间隔”。如果某个任务的重复间隔是 1~10 分钟,且执行的是脚本或 exe,基本可以确认。

处理要点:必须先禁用或删除计划任务,再删文件。否则你删文件的瞬间,计划任务可能正好触发,文件立刻被重建。

4.3 注册表 Run 键 + 启动文件夹双保险

有些病毒同时在注册表 Run 键和启动文件夹(shell:startup)里放启动项。你只清了注册表,启动文件夹里的快捷方式还在;或者反过来。重启之后照样复活。

检查启动文件夹的方法:按 Win+R 输入shell:startup,看看里面有没有可疑的快捷方式。正常的启动文件夹通常是空的,或者只有你自己放的程序。

5. 清理完成后的验证:怎么确认真的干净了

5.1 重启后的三项复查

清理完不要急着说“搞定了”,重启一次,然后做三项复查:

第一项:进程复查。打开任务管理器,看 CPU 占用是否恢复正常(空闲时应该在 5% 以下)。如果还是有异常进程,说明持久化没清干净。

第二项:网络复查。恢复网络后,用netstat -ano查看有没有异常的外连连接。XMRig 会连接矿池的 IP 和端口(常见端口 3333、4444、5555、7777、8080)。如果看到某个进程在持续连接陌生 IP,说明还有残留。

第三项:持久化复查。重新检查一遍服务、计划任务、注册表 Run 键、WMI 订阅,确认没有新的可疑条目出现。

5.2 用系统自带的安全工具做一次全盘扫描

Windows Defender 虽然对加壳的 XMRig 检出率不是 100%,但清理完之后跑一次全盘扫描是有必要的。如果 Defender 被病毒禁用了(有些变种会关掉实时保护),需要先手动重新开启:

powershell Set-MpPreference -DisableRealtimeMonitoring $false

然后执行全盘扫描:

powershell Start-MpScan -ScanType FullScan

如果 Defender 被组策略或注册表锁死无法开启,可以尝试用 Windows 安全中心的“离线扫描”功能,它在系统启动前运行,能绕过大部分病毒的自保护机制。

5.3 一个实用的“土办法”:用资源监视器盯网络

按 Win+R 输入resmon,打开资源监视器,切到“网络”标签页。这里能看到每个进程的网络连接情况。如果某个你不认识的进程在持续发送数据,把它的 PID 记下来,回到任务管理器找到对应进程,查看文件路径,基本就能定位残留。

我个人的习惯是:清理完重启后,开着资源监视器放个 10 分钟,什么都不做,就看有没有异常的网络活动。如果 10 分钟内没有任何可疑连接,基本可以放心了。

6. 防大于杀:让 exe 病毒进不来的几个硬习惯

6.1 软件来源比杀毒软件更重要

我处理过的挖矿木马案例里,超过一半的感染源是“破解软件”“绿色版”“注册机”。攻击者把 XMRig 捆绑在这些文件里,你运行的时候它静默安装,没有任何提示。所以第一条硬习惯就是:不从非官方渠道下载可执行文件。需要用某个软件,去官网下;需要某个工具,找开源项目。省下的那点钱,不够你清理病毒的时间成本。

6.2 关闭不必要的端口和共享

XMRig 的传播途径之一是弱口令爆破,尤其是 RDP(远程桌面)和 SMB(文件共享)。如果你不需要远程桌面,关掉它:

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 1 /f

如果不需要文件共享,关掉 SMB:

sc config LanmanServer start= disabled

6.3 定期检查启动项,比装十个杀毒软件都管用

养成一个习惯:每个月花 5 分钟,打开任务管理器的“启动”标签页,看看有没有不认识的自启动程序。正常的启动项你应该都认识(输入法、显卡驱动、云盘同步等)。看到陌生的,右键禁用,然后查一下它的路径。这个习惯能让你在病毒还没大规模活动之前就发现它。

6.4 一个反直觉的经验:不要迷信“一键清理工具”

网上有很多“exe 病毒专杀工具”“xmrig 清除工具”,下载下来本身可能就是病毒。我见过一个案例,用户下载了一个所谓的“挖矿木马清除器”,结果那个清除器本身就是 XMRig 的变种。真正可靠的清理方式,还是用系统自带工具手动排查,或者用知名安全厂商的官方工具。清理这件事,没有捷径,只有耐心和细致。

7. 几个我踩过的坑和对应的解法

7.1 删了文件但服务还在,重启后服务自动重建文件

这是最常见的坑。原因是 Windows 服务有一个“恢复”机制:如果服务对应的 exe 不存在,系统在某些配置下会尝试重新创建或从缓存恢复。解法是sc delete删除服务,再删文件。如果服务删不掉(提示“拒绝访问”),需要先用sc sdset修改服务的安全描述符,给自己完全控制权限,然后再删。

7.2 计划任务删了但文件还在,因为任务有多个触发器

有些恶意计划任务配置了多个触发器,你只删了一个,另一个还在。解法是用schtasks /query /tn "任务名" /xml导出任务的完整 XML,看看里面有几个 Trigger,确认全部删除。或者直接用schtasks /delete /tn "任务名" /f强制删除整个任务。

7.3 WMI 订阅删了但重启后自动恢复

WMI 订阅的删除顺序很重要。必须先删__FilterToConsumerBinding,再删__EventConsumer,最后删__EventFilter。如果顺序反了,系统会认为订阅仍然有效,可能会自动重建。另外,有些病毒会同时创建多个订阅,互相监视,需要全部找出来一起删。

7.4 安全模式下病毒仍然运行

正常情况下,安全模式只加载最基本的驱动和服务,病毒不应该运行。但如果病毒注册了 boot 级别的驱动,或者修改了安全模式加载的服务列表,它仍然可能运行。解法是用 Windows 安装 U 盘启动,进入 WinRE(恢复环境),在命令行里离线清理。这种方式病毒完全无法运行,清理最彻底。

8. 如果手动清理搞不定,什么时候该考虑重装

手动清理适合大多数 XMRig 和普通 exe 病毒,但如果遇到以下情况,重装系统可能是更省时间的选择:

  • 病毒是勒索软件,已经加密了你的文件(清理病毒也救不回文件,除非有备份);
  • 病毒是 rootkit,感染了系统内核驱动,手动清理风险极高;
  • 你花了超过 2 小时仍然无法彻底清除,反复复活;
  • 系统文件已经被病毒破坏,出现各种异常错误。

重装之前,记得把重要数据备份到外部存储,但不要备份任何 exe、dll、脚本文件,只备份文档、图片、视频等数据文件。备份完成后,用 Windows 安装介质全新安装,安装时选择“自定义”,删除所有分区重新创建,确保没有残留。

我个人在实际操作中的体会是:清理 exe 病毒这件事,技术难度不高,但耐心和细致程度决定成败。你漏掉任何一个持久化点,病毒就会复活。所以与其追求“快速清除”,不如按部就班地把每一个藏身点都翻一遍。断网、普查、断根、杀进程、删文件、重启复查,这六步走完,基本没有清不干净的。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/20 9:52:29

Roo Code 并发重试:TaoToken 下看 429 退避与 Token 重放

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/20 9:52:13

Kimi K2.7 Code 上了 LiveCodeBench:用 TaoToken 同一把 Key 跑同一题集

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/20 9:52:04

Kali Linux中文输入法安装全指南:从换源到fcitx5配置与排错

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/20 9:51:50

Claude Code 上下文一长就幻觉?TaoToken 这样改 .claude/settings.json

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/20 9:51:07

DeepSeek API春节容灾:压测、熔断与降级闸门实战

简介:文档《春节流量洪峰:DeepSeekAPI容灾方案实战记录》聚焦高并发场景下的系统稳定性,适合后端开发、SRE运维与架构设计人员参考,尤其适合春节、大促等峰值场景。内容先分析春节流量洪峰的特点与业务挑战,再梳理Deep…

作者头像 李华
网站建设 2026/9/20 9:49:42

非洲秃鹫优化算法在图像分割中的应用与Matlab实现

1. 项目背景与核心价值图像分割作为计算机视觉领域的经典问题,一直面临着精度与效率的双重挑战。传统算法如阈值法、区域生长法在复杂场景下表现欠佳,而深度学习方法又需要大量标注数据和计算资源。在这种背景下,基于仿生智能的优化算法为解决…

作者头像 李华