2010-06-07 15:19:36 阅读5 评论0 字号:大中小
(1) Windows2000/XP篇
从Windows 2000开始,就引进了“服务”的概念。服务在后台运行,不会显示在自启动程序列表内,正因为如此它成为新平台木马最为活跃的寄生场所。
服务是指执行指定系统功能的程序、例程或进程,以便支持其他程序,尤其是低层(接近硬件)程序。因为“服务”项目繁多,所以通过人工手动来一项一项地具体检查显然是不明智的,我们就需要借助第三方工具了,有的朋友不禁要问了,如何确定哪个是木马程序所伪装的系统服务呢?在我们不知情的情况下,确定伪装的系统服务确实很恼人,但是我们采用迂回战术,利用软件将系统的“服务”调用情况恢复成默认的设置,那木马程序所调用的假“服务”就势必会不再被启动。
要实现这个功能,我们平时优化计算机时使用的“超级兔子”就能办到:启动“超级兔子”,主人“超级兔子魔法设置-启动程序-系统服务”.在”优化方案”内选择你的操作所对应的默认方案即可。如果你的系统是Windows 2000.选择好”Windows 2000专业版默认”后点击“更改”就完或了设置操作,这下就不用担心木马程序搞“特殊服务”。
(2) 注册表篇
不管是Windows 98/ME还是Windows 2000/XP,它们的注册表本身是非常庞大复杂的,众多的启动项目极易掩人耳目,这就给木马大摇大摆安置其中敞开了大门。
隐蔽性强的木马都喜欢在注册表里做文亘,所以请大家一乏要注意以下键值:
[HKEY_LOCAlMACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices]
[HKEY LOCAL MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce]
[HKEY LOCAL MACHINE\Sofiware\Microsoft\Windows\CurrentVersion\Runl
[HKEY LOCAL MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce]
[HKEY CURRENT USER\Software\Microsoft\Windows\CurrentVersion\Runl
[HKEY CURRENT USER\Software\Microsoft\Windows\CurrentVersion\RunOncel
[HKEY CURRENT USER\Software\Microsoft\Windows\CurrentVersion\RunServices]
这些键值囊括了启动程序的信息,可以说是没有任何程序逃得开:此外,注册表也是木马惯用的“文件关联”伎俩的根源所在。
如果在以上几个注册项中出现了木马信息,则直接删除,禁止木马自动运行。
对于常见的文件关联xx方法如下:
1.解除exe关联:
启动注册表编辑器,然后找到[HKEY_CLASSES_ROOTkExefile\shell\Open\Cpmmand]主键;查看起默认的键值是不是系统默认的“”%1””%*””,如果被修改,则改成默认值.
2.解除txt关联:
打开注册表编辑器IHKEY_CLASSES_ROOT\txtfile\shell\open\command]主键其默认的键值应该为“%SystemRoot%\svstem32\NOTEPAD.EXE%1”,如果不是,修改为正确数据。
3.解除ini和inf关联:
Ini文件的关联配置保存在注册表[HKEY_CLASSES_ROOT\Inffile\shell\Open\Cpmmand]主键下,其默认数据是"%SystemRoot%\System32\NOTEPAD.EXE%1”,如果被修改的话,也要改回来。
(3) 系统进程篇
大家知道应用程序如果正在本机上运行,那它就一定会以进程的形式在任务管理器中表现出来。不过进程的名字不一定和应用程序名一样,一个应用程序可能启动多个进程,一个进程会对应多个程序。
我们先来认识常见的进程类型。按下"Ctd+Alt+Del”即可打开任务管理器,单击“进程”可以看到当前系统所有的进程。虽然任务管理器可以列出系统所有的进程,但是无法知道进程所在的路径、调用的模块、进程的关系(如子、父进程)、包含子服务等详细资料。网上一般教大家的方法都是使用第三方工具,类似Process Explorer等来查询应用程序的详细信息,今天就教大家如何利用Windows自带的工具来实现我们的目的。
在WinXP中,Tastlist和Taskkill就是专门用于查看和终止进程的两个命令。
①Tasklist命令,用于显示运行在本地或远程计算机上的所有任务的应用程序和服务列表,带有过程ID,它的使用格式为:
TASKLIST[/S system[/U username[/P[password]]]]/M
[module]︱/SVC ︱/V)[/Fifilter][/FO format][/NH]
很复杂是不是?当然我们根本不需要知道这么多,只需要了解以下3个即可。
/M [module] 列出调用指定的DLL模块的所有进程,如果没有指定模块名,显示每个进程加载的所有模块。 .
/SVC 显示每个进程中的服务。
/V 指定要显示详述信息。
回车后就可以看到当前所有程序所调用的DLL文件了。
一个程序身后有很多模块在支援,当你看到陌生进程所调用的DLL文件,可以上 http://www.dll-files.com/搜索这个DLL文件的真实面目,在左边的“SearchforDLLfiles”框内填写文件全名,点“OK"就可以得到你想要的答案了。
如果要杀死本机的"sixvee.exe”进程:在CMD或者DOS中使用Tasklist查找它的PID,系统显示本机"sixvee.exe”进程的PID值为"1234'‘,然后运行"taskkill/pM 1234"即可,或者直接运行taskkill /IM sixvee.exe也能杀掉进程,其中/PID参数后面跟要终止进程的PID值,/IM参数后面为进程名。
虽然我们在Windows环境下查到了木马的真实面目,但是很多木马程序的服务端是处于运行状态,无法直接删除,所以必须进入纯DOS状态删除,首先进入木马程序的目录,执行:
attrib-r-s-h木马程序名.exe(去除六马程序的只读、隐藏、系统属性)
del木马程序名.exe(删除木马程序)