在诸多病毒类型里面最让人深恶痛绝的就是Rootkit(内核型)蠕虫病毒, 许多时候杀毒软件能检测到该病毒, 但却无法有效清除。
此类病毒的特点是病毒文件为两个或多个, 一个是扩展名为EXE的可执行类型文件, 一个是扩展名为SYS的驱动类型文件。 EXE可执行文件为传统的蠕虫病毒模块, 负责病毒的生成、感染、传播、破坏等任务;SYS文件为Rootkit模块。
Rootkit也是一种木马, 但它较我们常见的“冰河”、“灰鸽子”等木马更加隐蔽, 它以驱动程序的方式挂入系统内核, 然后它负责执行建立秘密后门、替换系统正常文件、进程隐藏、监控网络、记录按键序列等功能, 部分Rootkit还能关闭杀毒软件。
目前发现的此类模块多为病毒提供隐藏的机制, 可见这两类文件是相互依赖的。 既然病毒已经被隐藏了, 我们从何处入手发现病毒呢?这里就以感染orans.sys蠕虫病毒的计算机为例, 探讨如何检测和查杀该类病毒。
检测病毒体文件
Norton防病毒软件报告c:windowssystem32orans.sys文件为Rootkit型病毒, 这里可以看到使用Rootkit代码的SYS文件是无法逃过杀毒软件检测的。 那么是否删除了该文件就能清除病毒呢, 答案是不行的。
首先在染毒的系统下该文件是受保护的, 无法被删除。 即使用户在安全模式下删除了文件, 重新启动后, 另外一个未被删除的病毒文件将随系统启动, 并监控系统。
一旦其发现系统的注册表被修改或病毒的SYS文件遭删除, 病毒就会重新生成该文件并改回注册表, 所以很多时候我们会发现病毒又重生了。 因此需要同时找到这两个文件, 一并处理。 但在受感染的系统中, 真正的病毒体已经被Rootkit模块隐藏了, 不能被杀毒软件检测到。
这时就需要从系统中的进程找到病毒的蛛丝马迹。 系统自带的任务管理器缺少完成这一任务的一些高级功能, 不建议使用。 这里向大家推荐IceSword或Process Explorer软件, 这两款软件都能观察到系统中的各类进程及进程间的相互关系, 还能显示进程映像文件的路径、命令行、系统服务名称等相关信息。
在分析过程中不仅要留意陌生的进程, 一些正常系统进程也要仔细检查, 因为病毒常以子进程插入的方式将自己挂到系统正常进程中。 在IceSword软件中以红色显示的进程为隐藏进程, 往往是内核型木马的进程。
端口分析也是一种常用的方法, 因为病毒常打开特殊的端口等待执行远程命令, 部分病毒还会试图连接特定的服务器或网站, 通过进程与端口的关联, 检测到病毒进程。
在上面的例子中我们通过比对正常运行的系统和染毒系统很快就判断出系统中的restore进程为异常进程, 该进程的映像文件为c:windowsrestore. exe, 这样我们就找到了病毒体文件。 而当找到这个文件时, 发现Norton没有告警, 可见病毒文件躲过了杀毒软件。
进一步分析还发现病毒在系统中添加了一项服务, 服务名称为“restore”, 可执行文件路径指向病毒文件。
手工清除病毒
1.关闭系统还原功能, 右键单击“我的电脑”, 选择“属性”, 在“系统属性”中选择“系统还原”面版, 勾选“在所有驱动器上关闭系统还原”, 关闭系统还原功能。
2.重新启动计算机进入安全模式, 在“控制面板”→“管理工具”中单击“服务”, 病毒在这里添加了“restore”服务, 将该服务禁用。
3.手动删除c:windows restore.exe和c:windows system32orans.sys两个病毒文件。
4.运行注册表管理器regedt32. exe, 查找注册表病毒添加的表项。 在
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices
HKEY_LOCAL_MACHINESYSTEMControlSet001Services
HKEY_LOCAL_MACHINESYSTEMControlSet002Services
三个分支下发现病毒添加的 “orans.sys”和“restore” 注册表项, 删除该表项。
5.重启动系统到正常模式, 打开系统还原功能, 并为系统安装补丁程序。
这类病毒的变种很多, 从病毒生成的可执行文件到注册的系统服务、传播及危害方式都有所不同, 这里主要提供一个思路, 大家在遇到时能找准根源解决问题。 另外这类病毒多数是利用操作系统的漏洞或猜解管理员的口令入侵的, 有些病毒还能同时利用多个漏洞, 逐一尝试。
因此大家要充分意识到打补丁的重要性, 同时避免空或弱的管理员口令, 降低病毒入侵的机会
……