反病毒技巧:拔营起寨针对插入式木马的清除方法
目前网络上最猖狂的病毒估计非木马程序莫属。现在的木马越来越有攻击性。在进程隐藏方面,很少使用独立的EXE可执行文件,而是使用内核嵌入、远程线程插入技术和PSAPI。这些木马也是目前最难对付的。现在我将教你如何找到并清除插入线程的特洛伊木马。
首先,通过自动运行机制检查木马
说到寻找木马,很多人会马上想到通过木马的启动项来寻找“线索”。具体的地方一般如下:
(1)注册表启动键
在“开始/运行”中输入“regedit.exe”打开注册表编辑器,然后展开【HKEY _当前_用户\软件\微软\ windows \当前版本\】和【HKEY _本地_机器\软件\微软\ windows \当前\】检查以下所有以Run开头的项,看看它们下面是否有新的和可疑的键值。还可以通过键值指向的文件路径来判断它们是新安装的软件还是木马。此外,【HKEY _本地_机器\软件\类\ exefile \ shell \ open \ command \】的键值也可能被用来加载木马,比如将键值改为“X:\windows\system\ABC.exe %1%”。
(2)系统服务
有些木马是通过添加服务项目自启动的。可以打开注册表编辑器,在[HKEY _本地_机器\软件\微软\ Windows \当前版本\运行服务]下查找可疑键值,在[HKEY _本地_机器\系统\当前控制集\服务\]下查看可疑主键。然后禁用或删除木马添加的服务项:在“运行”中输入“Services.msc”打开服务设置窗口,显示系统中所有的服务项及其状态、启动类型、登录性质等信息。找到木马启动的服务,双击打开,将启动类型改为“禁用”,然后点击确定退出。也可以通过注册表修改,依次展开键HKEY _本地_机器\系统\当前控制集\服务\服务显示名,在右窗格找到二进制值“Start”,修改其数值。“2”表示自动,“3”表示手动,“4”表示禁用。当然,直接删除整个主键。通常,您可以通过注册表导出功能随时备份这些键值以供参考。
(3)开始菜单启动组
现在大部分木马已经不再通过启动菜单随机启动,但也不可掉以轻心。如果你在Start/Program/Start中发现了新的东西,你可以右击它,选择Find Target在文件的目录中检查它。如果文件路径是系统目录,要小心。也可以直接在注册表中查看。它的位置是[HKEY _当前_用户\软件\微软\ windows \当前版本\资源管理器\外壳文件夹],它的键名是Startup。
(4)系统INI文件Win.ini和System.ini
系统INI文件Win.ini和System.ini也是木马喜欢藏身的地方。选择“开始/运行”并输入“msconfig”以调用系统配置实用程序。检查Win.ini的[Windows]子节下的load和run字段后面是否有可疑程序一般,“=”后面跟空white;在System.ini
(5)批处理文件的[boot]部分的Shell=Explorer.exe之后还有一个检查
如果你使用的是Win9X系统,你还应该看看这两个批处理文件“AUTOEXEC。BAT”和WINDOWS目录中的“WinStart.bat”。里面的命令一般是由安装的软件自动生成的,系统中会默认自动加载。在批处理文件语句前增加“echo off”,启动时只显示命令的执行结果,不显示命令本身;如果在它前面再加一个“@”字符,就没有提示了。许多特洛伊木马曾经通过这种方法运行。
第二,通过文件比对查木马。
新的木马主程序加载成功后,会以线程的形式插入系统进程,然后删除系统目录中的病毒文件和注册表中病毒的启动项,使杀毒软件和用户难以察觉。然后会监控用户是否关机重启,如果是,会在系统关机前重新创建注册表的病毒文件和启动项。以下几招可以让它原形毕露(以下都是Win XP系统的例子):
(1)比较常见的备份流程
通常情况下,可以先备份一个进程列表,以便随时对比,发现可疑进程。方法如下:开机后在其他操作之前启动备份,可以防止其他程序加载进程。在运行中输入“cmd”,然后输入“task list/SVC > x:\ process list . txt”(提示:不要包括引号,在参数前留空,后面是文件保存路径),按回车键。该命令可以显示在本地或远程系统上运行的应用程序和相关任务/进程的列表。输入“tasklist/?”可以显示该命令的其他参数。
(2)比较备份系统DLL文件列表。
没有独立进程的DLL木马怎么办?既然木马打的是DLL文件的主意,我们可以从这些文件入手。通常,系统DLL文件存储在system32文件夹中。我们可以列出这个目录下的DLL文件名等信息,打开命令行窗口,用CD命令进入system32目录,然后输入“dir *”。DLL>X:\listdll.txt "并按enter键,这样所有DLL文件名都记录在listdll.txt文件中。如果怀疑以后有木马入侵,可以用上述方法备份一个文件列表“listdll2.txt”,然后用“UltraEdit”等文本编辑工具进行比对;或者在命令行窗口进入文件保存目录,输入“fclistdll . txt list dll 2 . txt
”,这样就可以很容易地找到那些更改过的和新添加的DLL文件,进而判断它们是否是木马文件。
(3)比较加载的模块
频繁安装软件会使system32目录下的文件发生较大变化,可以通过比较加载的模块缩小搜索范围。在“开始/运行”中输入“msinfo32.exe”打开“系统信息”,展开“软件环境/加载的模块”,然后选择“文件/导出”将其备份为文本文件。如有必要,备份另一个进行比较。
(4)检查可疑端口。
只要连接了所有的木马,接收/发送数据必然会打开端口,DLL木马也不例外。这里,我们使用netstat命令来检查打开的端口。我们在命令行窗口中输入“netstat -an”来显示所有的连接和监听端口。Proto是指连接使用的协议名称,Local Address是本地计算机的IP地址和连接使用的端口号,Foreign Address是连接到端口的远程计算机的IP地址和端口号,State表示TCP连接的状态。用于Windows的netstat命令比以前的版本多了一个-O参数,可用于将端口与进程对应起来。输入“netstat/?”可以显示该命令的其他参数。然后我们可以通过分析打开的端口,将范围缩小到具体的进程,然后使用进程分析软件,比如卡卡助手、瑞星个人防火墙等。
位律师回复
0条评论