这是一次真实排查的记录。全程用 WorkBuddy 在这台 Windows 工作站上完成,所有结论都来自本机实测(文件时间戳、系统事件日志、SHA256),没有推测当成事实。
这是一台工程设计工作站:Windows 系统,装着 4 个版本的 AutoCAD、天正建筑、CASS、Revit,硬盘分成 C / D / E / F 四个本地分区,平时频繁插 U 盘互相拷图纸。
例行检查时,在四个盘的根目录发现了这些:
euypvm.exe、xoje.pif)的可执行文件[LordPE] 字样(一种可执行文件修改工具的标记)autorun.inf(例如写成 shElL\OpEn\comMand,用来规避关键字检测)$gliid按文件的时间戳倒推,感染时间线是:从 2026-03-12 起,前后至少 6 轮,最近一次是 9 月 15 日。
这里有一个经验:U 盘蠕虫特别喜欢往盘根目录放东西,因为 autorun.inf 只有在根目录才生效。所以"每个盘的根目录"是排查这类病毒的第一现场。而它们用"隐藏 + 系统"属性,是为了在默认设置下的资源管理器里不可见。
先跑了一遍火绒全盘扫描:报出 163 个风险项,全部自动处理完毕。扫描完成后逐条复查:
autorun.inf → 全部清除$gliid → 仍在(杀软不认为它是病毒,因为它只是纯数据)顺带验证了另一件事:全盘搜索 99,044 字节的同类文件,零残留。
这里有个关键判断:杀软能清掉"会执行的东西",但清不掉"数据文件"。后者需要人工确认后清理。
先备份(万一要留凭证),再删除。删的时候踩了一个坑(后面会讲)。
删除时做了三件事:
Test-Path 确认目录不存在)第二天复查,C、D、E、F 四个盘根目录又各出现了一个 $gliid —— 包括前一次根本没有的 C 盘。
而且:
.884 / .884 / .886 / .887),说明是一个程序挨着四个盘各写了一遍这就有点意思了。于是开始取证。
用系统事件日志还原现场:
结果:
时间 | 事件 |
|---|---|
11:42:43 | 重启(用户操作) |
11:43:27 | 开机完成(Event ID 6005) |
11:43:29 | 四个盘被写入 $gliid |
11:51:45 | 关机 |
开机后 2 秒就被写入 —— 这个时间点极其关键:那时桌面还没出来,只有内核驱动和最早批的服务在运行。
辅助确认开机时刻:
查 PowerShell 的操作日志,看那一瞬间有没有脚本在跑:
结果:那一刻没有任何记录(最早的记录在 11:43:37,晚了 8 秒)。→ 排除脚本工具。
位置 | 排查命令 | 结果 |
|---|---|---|
组策略启动脚本 | 看 C:\Windows\System32\GroupPolicy\*\Scripts | 空 |
WMI 永久订阅 | Get-CimInstance -Namespace root\subscription -ClassName __EventFilter | 只有系统自带 1 条 |
映像劫持 IFEO | 查 Image File Execution Options 下的 Debugger 值 | 无 |
Winlogon / AppInit | 查 Shell / Userinit / AppInit_DLLs | 全部正常 |
计划任务 | Get-ScheduledTask | Get-ScheduledTaskInfo 按 LastRunTime 过滤 | 该时段全是系统任务 |
既然写入发生在开机后 2 秒,能在这个时间点写盘的只有开机最早阶段加载的驱动:
列出来的驱动绝大多数是微软自带的,非微软的只有寥寥几个(显卡 / 芯片组 / NVMe / 安全软件)。其中安全软件的"设备监控"驱动嫌疑最大,但没有直接证据,所以这一条只能标"待定",不能下定论。
猜测有很多,实验只有一个。设计如下:
结果:一个都没回来。
这个结论很有价值 —— 它说明:
所以风险评级可以下调为"低":文件本身是纯数据无代码,删掉后不复发,常见藏身点全干净。
在部分环境下,通过工具调用 PowerShell 时 stdout 会被吞掉,屏幕上什么都没有。
解法:把结果写进文件,再读文件。
用 StringBuilder 攒完一次性落盘,比每一步都 -Append 更稳(中途写失败不会丢全部日志)。
Remove-Item 删不掉"隐藏 + 系统"属性的文件删除时遇到这个报错:
原因是这台机器上的删除操作被一个"安全删除"机制接管、转成了"送回收站",而回收站不接受带隐藏+系统属性的文件,于是整个脚本被打断。
解法:改用 .NET 直接删(先清只读属性):
另一个小坑:路径里含 $ 时,PowerShell 双引号会把它当变量。一律用单引号或 -LiteralPath。
偶发的安全事件,最怕的就是"不知道什么时候又冒出来"。所以最后做了一件事:把检查变成每天自动跑一次的定时任务——
$gliid、随机名 exe/pif、autorun.inf$gliid 就记录路径、创建时间(精确到毫秒)、SHA256,并与历史指纹比对这样下次它一露头,就能立刻拿到"当时的现场",从而定位是谁写的。
autorun.inf + 随机名程序 + 隐藏属性,是经典三件套。本文由 WorkBuddy 协助完成排查与记录。文中路径与文件名
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。