最近遇到一个比较典型的病毒案例——用户电脑感染后,开机就会弹出几十个窗口,系统资源迅速被耗尽,最终导致死机。用户以为重装C盘就能解决,但格式化分区、重装系统之后,开机依然中招。从现象来看,至少可以得出两个判断:第一,病毒通过自动播放功能传播;第二,病毒很可能使用了映像劫持技术(Image File Execution Options劫持)。
故障现象
检查故障机时,重启后自然想到进入带命令行的安全模式。尝试运行regedit(注册表编辑器),失败。再试msconfig(系统配置),同样不行。把regedit.exe改成regedit.com,依然无果。没有继续尝试其他名称,直接重启进普通模式,想看看具体是什么表现。
登录到桌面,发现一个类似记事本的程序在疯狂弹窗,速度极快,根本来不及关闭。任务管理器也无法调出。手边常备的杀毒U盘里有ProcessExplorer、冰刃、Sreng,但插上后发现U盘没有正常启动。双击冰刃和Sreng,都宣告失败。
解决步骤
分别把icesword和Sreng主程序改名后尝试运行。此时,那个弹窗病毒已经打开了近百个对话框,系统变得非常缓慢。先在任务栏选中这一组窗口,全部关闭,抢回一点系统资源。
然后双击U盘上的ProcessExplorer,一眼就看到三个记事本图标的进程。尝试结束其中一个,发现结束之后程序立即重新启动。直接杀进程行不通。那就试试冻结进程——分别选中这三个进程,右键选择Suspend(暂停),病毒不再弹出新对话框,后续清除就容易多了。(参考下图示例)

切换到冰刃,通过进程管理找到病毒进程的程序位置和文件名,利用冰刃内置的文件管理器浏览到这几个文件,复制一份备份到桌面,然后右键选择强制删除。
(下图演示冰刃的强制删除操作)

接下来,切换到冰刃窗口中的注册表编辑器,定位到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options,逐个查看子注册表键中对应的程序名,找到另一个病毒程序。这里需要说明:有网友认为只需要保留“Your Image File Name Here without a path”子键,其他都可以删除。但这样做风险不小,谨慎的做法还是一个子键一个子键检查,发现键值为病毒程序路径时,再删除这个子键。

同样,用冰刃的文件管理器将病毒程序强制删除。这个病毒太恶劣——几乎所有的杀毒软件、防火墙、系统自带管理工具(regedit、msconfig、cmd、任务管理器)、第三方系统辅助工具(Sreng、autoruns、冰刃)全部被劫持。
修复注册表后,双击杀毒U盘中的毒霸。新版杀毒U盘增加了监视功能,点击桌面备份的那几个病毒程序时,监控立即干掉病毒。然后打开资源管理器,浏览到其他分区根目录,杀毒U盘又把另几个分区根目录下隐藏的病毒干掉了。
另类解决方案
如果没有冰刃、Process Explorer,可以用其人之道还治其人之身。编辑一个修改注册表的批处理脚本,把病毒程序也加到映像劫持的清单中,示例如下:
@echo off
echo Windows Registry Editor Version 5.00>ssm.reg
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\syssafe.EXE] >>ssm.reg
echo "Debugger"="syssafe.EXE" >>ssm.reg (如果发现多个病毒程序,就编辑多行)
rem regedit /s ssm.reg & del /q ssm.reg (如果发现多个病毒程序,就编辑多行)
重启电脑后,病毒程序也无法启动。然后把注册表编辑器的程序名regedit.exe改成其他名字,双击后对注册表相应项进行修改,再升级杀毒软件进行全盘扫描。
总结
对普通用户来说,遇到这类对抗杀毒软件能力很强的病毒,确实非常棘手。用杀毒软件轻松修复的可能性很小,手工修复又很有难度。
建议
- 使用组策略编辑器,关闭所有驱动器的自动播放功能(自动播放功能传播了太多病毒)。
- 及时升级杀毒软件,防止被这类映像劫持病毒袭击。中招后再处理,需要花更多功夫。
- 一旦中毒,应立即联系专业反病毒工程师协助,重装系统不是好方法。
