打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
手工查杀木马病毒5
我们接着来讲驱动的加载,驱动肯定不是一个,那先加载哪个后加载哪个呢?

 

  打开注册表编辑器,定位HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\sr ,一个典型的驱动在注册表中的注册内容,系统加载时,就是依照这里的内容进行驱动加载的。sr键下,也就是在System注册表文件中。这是XP-系统还原所需要的一个文件过滤系统驱动。
注册内容中的各项含义如下:

 

 

lDisplayName:这是服务名称,在前面一章中我们讲到服务管理器时讲过,这个名字就是在服务管理器中显示的名称,没什么要紧的,随便起一个就行。


lErrorControl:错误控制码,可以取值为,0 à 忽略任何错误;1 à 如果出错,显示一个警告;2 à 如果出错,且有最后一次正确配置则启动最后一次正确配置,否则继续引导过程;3 à 如果出错,且有最后一次正确配置,则使用最后一次正确配置,否则显示蓝屏崩溃。这里的“最后一次正确配置”是指在启动过程中按F8键进入高级菜单后的其中的一个选项,利用这个选项通常可以正常进入系统。


lGroup:组的名称,这个根加载顺序就有关系了,我们放到后面详细讲。


lImagePath:驱动或服务的执行文件路径。需要注意的是,如果一个驱动有这一项,那么系统会根据这一项中标明的文件进行加载,如果驱动中没有这一项,系统会自动在Windows\System32\Drivers\目录下寻找与注册键同名的驱动加载。

 

lStart 驱动或服务的加载启动顺序。可取值为,0 à Ntldr预先加载此值为零的驱动,在引导过程中这类驱动一直待在内存中;1 à 在标明为0的驱动初始化之后,值为1的驱动开始被加载到内存中并初始化,其是在内核初始化的过程中加载的(参见进程篇的系统启动过程)。2 à Services.exe启动后,由该进程来加载启动值为2的驱动或服务(Service.exe的情况请参阅进程篇);3 à Services.exe根据需要加载这类的驱动或服务,也就是在服务管理器的启动一项中标明为“手动”的。呵,这里有个概念性的误区,标明为手动并不是指一定要由用户来手动启动,而是由系统识情况启动,当系统需要相应的驱动或服务提供的功能时,系统就将自动启动此服务,而无须用户手动操作;4 à 驱动或服务并不加载到内存,当然也不启动了。也就是服务管理器中标为“禁用”的服务,这一类的服务,即使系统需要用到其提供的功能,也不会自动加载。


lTag :在组中的顺序,这也是根加载顺序有关系的,我们同样放到后面讲。


lType :服务的类型,可取值为,1à 设备驱动程序;2 à 内核模式的文件系统驱动程序;4 à 已废弃;8 à 文件系统识别器驱动程序;16 à 该服务运行在一个只能容纳一个服务的进程中;32 à 该服务运行在一个可容纳多个服务的进程中;256 à 允许该服务在控制台显示窗口,并接收用户输入。

 

 

 

  除了上面的Start决定了加载顺序外,还有GroupTag来共同作用决定驱动的加载顺序,下面我们来讲一讲这两个。(如果你的头还不晕,那么,那么可以在本博客中,查看有关“INF安装信息文件”,里面关于驱动的部分。记住,晕死可别找我哦。我的一贯原则是:没什么事不要找我,有事就更不用找我。)

 

  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServiceGroupOrder键,表明了一个组的概念,驱动是分组并按组来分别按顺序加载的,Group决定了驱动是在哪一个组中,而Tag却决定了在同一个组的哪一个位置上。注意一下儿就会发现,Start值为0的驱动基本上都是分到了靠前的几个组中。


       了解了上面的知识后,只要你有足够的耐心,那么你就可以将系统中的驱动加载顺序搞出来了。


       驱动加载后,还有一些系统启动过程中需要的程序会得到加载执行的机会,可以参考进程篇中的系统引导过程来看,这里就不多说了,而且应用程序的启动顺序永远无法超越高启动级别的驱动,所以讲他们启动顺序也没多大意义。


  在注册表中可以启动程序的地方很多,不可能一个个的都讲一讲,也没那个必要。同样的,我们也不可能手动来从注册表中查找每一个启动项,启动项的查找只有依靠专业工具来进行,才是最佳的选择。

 

  启动项管理软件中最出名的无疑是Sysinternals出品的AutoRuns.exe。这是国外的一个专业启动项管理工具,很出名。但是如果用于清除木马,这个工具很显然是远远不够的,就像它的名字一样,这是一个“启动项管理”工具,它虽然列出了很全的自启动项,但却缺少反黑工具所特有的查找被隐藏的启动项、清除被保护的启动项的能力,我相信我这个评价还是很客观的。在后面的“自启动项的保护与清除”及“AutoRuns的使用”中我会再详细讲解。


       现在我们再看看狙剑的自启动项管理,狙剑毫无疑问是借签了AutoRuns.exe的启动项,另外加入了一些AutoRuns.exe并没有列出的启动项,从全面上来说应该是更胜一筹了,呵,说来也惭愧,站在巨人的肩上总会比巨人高一头的。当然了,最关键的还是狙剑做为一个专业的安全工具来对自启动项进行管理,充分考虑到了木马病毒对自启动项的隐藏与保护,加入了隐藏HOOK的恢复,所以,更适合安全相关的自启动项管理。

 

  注意,下面标明了自启动项的数量是800-900,只是这个数包括了分类条目,所以实际的会少一些,但怎么也应该在790+,这种数量的启动项,用手工来找,很显然是不现实的。另外需要注意的是,在驱动与服务的枚举中,狙剑将启动值为4也就是标为禁用的驱动与服务同样列了出来,这是为了防止有些恶意驱动,在加载完成后,就将自己改为禁用,等关机时再改回0值优先启动而考虑的。

  对于这大量自启动项的判断上,我们也将用进程判断的方法来进行判断,也就是数字签名验证,在启动列表中按右键选择“隐藏微软签名项”后,就会将全部有微软签名的启动项隐藏,剩下的也就没多少了。

       在正常情况下,清除掉所有的非微软签名启动项,是不会影响系统正常使用的。但有些情况是需要注意的,比如:Tcpip.sys是网络驱动,正常情况下是可以通过微软数字签名验证的。但有些下载软件比如迅雷会修改此驱动以达到最大的连接数,而由于Tcpip.sys被改动后,将不再能够通过微软的数字签名验证,所以,在不特别注意下,清除所有非微软认证的自启动项时,就会将这个驱动清掉,导致无法上网。

       另外,向进程篇中提到的Userinit.exe的情况也是类似的,Userinit.exe同样为系统必须的程序,但如果这种程序被感染了,那么,直接清掉就会存在问题,当然了,安全程序在清这类启动必须的程序时是不会删掉启动项的,但作为我们用户来说一定要搞清除哪些是木马的启动项,那些是被修改或感染的系统启动项,对这种被修改或感染的系统文件的处理,最佳方式无疑就是利用“系统文件修复”功能了。而千万不要直接手动清除相应的启动项,清掉后,将导致系统功能出现问题甚至不能进入系统。

       所以,对启动项进行清理时,在隐藏微软验证的文件后,仍然要对剩余的进行判断,有针对性的清理,当然,判断的过程是需要经验的,但是,想成为一个高手,这份经验的积累是必须的,世界上没有白吃的午餐,不想做一个使用傻瓜式软件的傻瓜,那么一些必要的学习与充电也就是必须的。第一次清理时不知道,上网查询或求助,第二次就知道了。相信,不长时间就可以完成经验的积累。

       最后需要说明的是,新的启动位置仍然在不断的挖掘中,没有哪个软件敢说全,只能是比较全而已,仍然需要不断的补充与完善。
 
  3、触发式启动的程序

  什么叫做触发式启动的程序呢?触发式启动程序是指需要用户进行某一操作来触发而启动的程序。

A
、最常见的就是文件关联式的触发启动。

比如说修改exe文件关联的木马,每当你运行exe文件时都将触发木马程序的执行,同样的,如果修改了gif文件关联,那么每当你打开gif文件时,就会触发木马程序的执行。

  下面我们就详细讲解一下修改文件关联的木马,我们以gif文件为例。打开注册表编辑器,定位到KEY_CLASSES_ROOT\.gif。
 
如果在“注册基础知识”一章中看仔细了,那么应该知道HKEY_CLASSES_ROOT键下存储的正是文件关联信息。各子键大都是以“.”开始的后面跟三个字母,想一想跟什么比较为像?呵,当然是文件的扩展名了。Explorer.exe Regedit.exe …… 后面的扩展名说明了文件的类型,.exeWindows可执行文件。A.gifB.gif……后面的扩展名GIF说明了文件是GIF图片,那么我们如何查看哪一类型的文件是由哪个程序来打开的呢?
 
  看里面的.gif键,其“默认”值是“giffile”。然后,我们再在HKEY_CLASSES_ROOT键下找到“giffile”子键。
 
  在giffile下的shell\open\command 键的默认值,标明了当你双击gif文件时,系统所要做的动作,这里的数据是“rundll32.exe C:\WINDOWS\system32\shimgvw.dll,ImageView_Fullscreen %1”,也就是说当你打开GIF图片时,系统会执行上面的命令,解释如下:运行rundll32.exe来调用C:\WINDOWS\system32\shimgvw.dll这个动态库,而参数就是ImageView_Fullscreen,后面的%1在执行中会用你双击的图片名字替换掉。

       结果就是打开了图片浏览器来浏览这个图片,我们下面修改一下这个值,改成:"D:\Adobe\Photoshop CS\Photoshop.exe" "%1" 那么再次双击GIF图片文件时,执行的结果就是运行Photoshop.exe来编辑这个图片了,而不是再用图片浏览器浏览。(当然了,D:\Adobe\Photoshop CS\Photoshop.exe是我机器上Photoshop.exe安装的路径,你需要改成你机器上的路径,其实你也可以改成任何一个程序)

       如果木马修改了这个值呢?改成了“C\木马.exe %1那么,一旦你双击GIF图片文件想浏览一下图片时,系统就会很忠实的依照注册表中的这个值,启动“C\木马.exe”,从而将木马触发启动,而木马也会在自己启动后,再度调用原有的程序将图片打开,这样,对你来说,是没有任何感觉的,你只知道双击一个图片后,图片打开了,而不会知道发生在这中间的一切。
  当前常见的木马对文件关联的修改都是以execomtxt等常见类型居多,而大多数安全软件也都对这几个常见的关联项进行了检查,但是木马开发者不是傻瓜应该是毫无疑问的事实,明知道常见类型会被安全软件监管后,他们还会修改常见的类型吗?呵,系统中可供修改的文件关联简直太多了。Rar文件,是常见的压缩格式文件,从网上下载的文件有很多是以这种格式压缩的,修改了它,一旦你打开下载的压缩包时就将启动木马。BMPGIFJPEG等图片文件、AVIRM等电影文件,修改任何一个,都将有很大机会被触发,而修改多个呢?

       狙剑提供了对所有文件关联进行检查的功能,打开狙剑,在基本功能中选择“注册项扫描”,就可以对所有的文件关联及COM注册项等进行扫描。(如果不用工具,我们也可以打开“文件夹选项”,点“文件类型”,然后……慢慢看吧。)查找规则是列出所有非系统程序的文件关联,也就是说如果某一类型的文件并不是由系统程序打开的,那么就会被列出。虽然已经隐藏了上千个系统文件的文件关联,但剩下的仍然会有很多。不过,虽然不少,可是并不难判断,一个程序通常对应着很多种类型的文件,比如,一个暴风影音就对应叫几十种文件类型,很容易就可以判断出这是正常的关联。

  当然了,这功能平时用的机会并不多,但是一旦一只马儿清掉后,过几天就又死灰复燃时,检查文件关联也许会有意外的收获。

  下面呢,我们再说一说文件关联的设置,如果一个文件关联被木马修改了,我们如何改回正常的呢?通过上面的讲解,也许有基础的朋友已经可以通过修改注册表来实现文件关联的修改了。但是我们还有更简单的方法来进行文件关联的修改与设置,那就是使用“打开方式”。具体的就不介绍了
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
手工查找木马
隐藏病毒木马的感染部署与常用处理方法
如何识别驱动木马
双击exe文件没反应 不能安装程序解决发难
精简虚拟光驱——最精小的虚拟光驱软件
新手也能对付病毒:通用清除木马方法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服