在U盘中发现病毒
前段时间需要往虚拟机中拷贝点资料,如同往常一样,插上我的U盘,并且在虚拟机的设置中选择连接U盘。奇怪的是这次的连接时间较以往长,并且还出现了“自动播放”窗口:
图1 自动播放窗口
在扫描完后,来到了U盘的打开类型选择窗口:
图2
以前我在虚拟机中使用U盘,都没有出现过“自动播放”的情况。尽管如此,我这次也没在意,选择了“打开文件夹以查看文件”。但是在U盘中却发现了奇怪的文件:
图3
上图的红框中的这几个文件,之所以说很奇怪,是因为它们都是使用了文件夹的图标,貌似是一个文件夹,但是在文件名称的后面却跟着一个“.exe”的小尾巴。诚然,我的U盘中本来确实有这四个文件夹,但是我不记得给他们加上了“.exe”这样的小尾巴。而不带小尾巴的真实的文件夹却找不到了。这就让我很是怀疑,于是分别查看这几个文件的属性:
图4
可见这四个并不是文件夹,而是不折不扣的应用程序,并且它们的大小还都是一致的。看到这里,就可以基本确定了,我的U盘是中了病毒了。
尝试手动消灭病毒
初步分析,这个病毒会将自身伪装成我的U盘中本来存在的文件夹,从而诱惑我去点击。那么原始的文件夹是被删除了还是被隐藏了呢?不妨在设置里面调整一下:
图5
然后就能够看到隐藏的文件与文件夹了:
图6
在上图中,红色框中的就是病毒程序,蓝色框中的就是我的原始文件夹。可见它们只是被设置成了隐藏,而没有被删除,看来病毒还是比较人性化的。通过设置,除了显示出了我本来的文件夹外。上图的第三行第四列出现了一个名为autorun.inf的文件,而第四行第四列出现了一个同样是文件夹的图标,名为Recycle.exe的文件,看来这个文件很可能与下面的四个文件也是一伙的。打开autorun.inf,看看它的内容是什么:
[AutoRun]
open=Recycle.exe
shell1=打开(&O)
shell1Command=Recycle.exe
shell2=浏览(&B)
shell2Command=Recycle.exe
shellexecute=Recycle.exe
很明显,每次U盘自动播放,都会运行Recycle.exe这个程序。那么现在可以尝试一下,将autorun.inf、Recycle.exe以及另外四个病毒文件删除掉,然后拔出U盘,之后在虚拟机中重新连接U盘。本以为病毒就不会再出现了,但是“自动播放”对话框再次出现,打开U盘,本来被删除的病毒再次顽强地回来了。这只能说明,病毒对于我们的操作系统也产生了影响,应当分析一下病毒对于系统的改动情况。
为了简单起见,这次不妨使用“火眼”帮我们进行分析。主要看一下它对注册表的修改情况以及看看它将自身隐藏在了什么位置:
图7 注册表监控
看来病毒在Run下创建了自启动项目。不过我的虚拟机中的Run下面的病毒名称和“火眼”提供的名称不一样,看来病毒可能是随机地对自身进行了命名操作,那么这里需要将这个位置删除掉。再看一下文件的监控:
图8 文件监控
同样的,在我的虚拟机系统中的病毒文件名称和上图中的名称也是不一致的,不过没关系,毕竟也是定位到了。但是首先应当利用任务管理器将病毒进程结束掉,然后再删除病毒本体:
这样一来,我们就成功地通过纯手动的方式,解决掉了这个病毒。
补充说明两个知识
最后还有两个问题需要补充说明。第一个问题是需要给大家讲解一下“自动播放”。事实上,U盘病毒传播技术的原理是病毒首先打开U盘的自动播放功能,然后向U盘写入病毒程序和autorun.inf文件,autorun.inf文件记录了用户选择何种程序来打开U盘的文件。如果autorun.inf指向了病毒程序,那么Windows就会运行这个程序,从而引发病毒。U盘自动播放功能的设置,是在注册表的
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer这个路径下面的“NoDriveTypeAutoRun”键值的位置。对于XP系统来说,这个值默认为0x91:
图10
这个0x91代表的是所有被禁止自动运行的设备值的总和。将0x91转换为二进制数就是10010001,其中每一位代表一个设备,在Windows系统中,不同设备会用下表中的不同数值进行表示:
上表中,数值为“0”表示设备运行,“1”表示设备不运行。可以发现,默认情况下,Windows禁止80H、10H以及01H这些设备自动运行,这些数值累加起来,正好就是16进制的91。从这个角度来说,由于U盘的的设备值为04H,那么事实上只要我们将“NoDriveTypeAutoRun”的键值设置为0x91+0x04,也就是0x95,就可以禁止U盘的自动播放功能了。
第二个需要说明的问题是,我之所以能够发现病毒文件,主要还是因为病毒名称的后面带了一个“.exe”的小尾巴。事实上,我们是可以通过设置来让文件的扩展名始终无法显示的。在注册表中找到
HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerAdvancedFolderHideFileExt中的UnCheckedValue项,将它的值设为1,那么无论在“文件夹选项”中如何更改,文件扩展名都是无法显示的。相信如果病毒的作者知道这一点并且运用在这个病毒身上,那么我一会中招的。
小结
我个人觉得,只要我们平时养成危机意识,那么即便我们的计算机中没有安装任何杀毒软件,病毒也是难有可乘之机的。当然我在这里还是建议大家,最好还是安装杀毒软件,并且及时更新病毒库,不要给恶意程序任何机会。