查看: 2312|回复: 1
收起左侧

疱丁解马-木马查杀深度剖析之进程篇(二)

[复制链接]
於陵闲云
发表于 2007-12-17 19:01:06 | 显示全部楼层 |阅读模式
本文转自狙剑安全论坛 作者MuseHero

接着上面的一篇来讲:
看完系统的启动过程后,我们再回过头去看那个进程图,是不是明白了很多呢?除掉系统启动环节中启动的进程外,我们再看其它的进程,注意看一下儿,剩余的进程是不是都是由Services.exe 或 Explorer.exe中的一个启动的。
Explorer.exe是系统的Shell程序,响应用户的请求,并执行对应的程序的工作就是由它来完成的,比如上面我们说过的,您想画图时,将画图程序启动起来的就是这个程序。你想上网时,将浏览器启动起来的也是它。当然了,一些用户的自动任务也是由它来完成启动过程的。(这些我们将在下面的自启动程序一章中详细讲解)
Services.exe是系统的服务控制管理器,由它启动的进程称为“服务”,是一组特殊的进程。此类进程是开机自动运行的,不依赖于用户的交互,说白了就是不用您管,它自己就会运行并且开始自己的工作,工作过程也无须您的干预。
说到这里,您可能会想,这不就是木马所需要的么?不错,有很多木马是以服务进程的形式存在的。那我们可以管理这些服务吗?答案是肯定的,我们的计算机,我们当然有权力管理了。看下面的图03-3





在桌面上“我的电脑”上面按右键,选择“管理”就可以打开如上图所示的窗口。依次选择:服务与应用程序----à服务 就可以看到上图右侧的服务列表。
最左侧的一列是服务的名称,需要注意的是这里列出的并非是对应的程序文件的名称,而仅仅是服务本身的名称。那我们又怎么知道这个服务对应的是哪个程序文件呢?如果我们想停止这个服务,并删除对应的程序文件,我们应该怎么做呢?
再看下图03-4





    在某一个服务上面按鼠标右键,选择“属性”,就可以打开此服务对应的属性页面,如上图所示。在这里,我们可以看到一些有用的信息,并对此服务进行启动、停止、禁用等操作。
       最上面的是服务名称,第二列是显示名称,第三列是关于服务的描述,也就是这个服务是做什么用的。当然了,我们不能迷信这里的描述,因为木马可以自行设定这个描述。再下面就是可执行文件的路径,也就是对应的进程与程序文件。这时我们再返回头去看03-2那个图,看一看进程PID968的进程是不是就是这个“svchost.exe –k netsvcs” 进程呢?
       这时再注意一下,又会发现问题,首先,在03-2图中,Services.exe启动的服务一共是7个,而在图03-03中,已经启动的服务却有很多,远不止7个,再挨个儿的查看每个服务的属性,又会发现,有很多服务名称虽然不同,但对应的可执行文件路径(进程)都是一样的,都是“svchost.exe –k netsvcs”进程,这又是咋回事呢?这里我们要解释一下Svchost.exe这个进程了,这是一个特殊的进程。

从图03-1中我们可以看到名字为“SVCHOST.EXE”进程一共是五个,我们没办法区分它们有什么不同。而在图03-2中,我们再查看这五个Svchost.exe进程,却可以从参数上来区分它们了,虽然进程名字相同,但它们的参数却各不相同。对了,这就是区分他们的方法了,Svchost.exe是一个服务的宿主程序或者叫容器程序,它的里面是一组服务,而参数就标明了这一组服务的类型。如果英文不是太差,那么从它的参数上就可以看明白这一组服务是做什么用的了。
    当然了,我们是来查杀木马的,当然不会满足于仅仅知道这是一组服务,这一组中是不是会藏着一个木马呢?所以,我们还要知道这一组服务都分别是哪一个,怎么来查看呢?再来看下图:03-5





上面的是什么呢?上面的就是我们在第一章中所提到的“注册表”。依次选择--à开始---à运行---à输入“Regedit.exe----à确定。
就可以调用系统自带的注册表编辑器来打开注册表,再依次展开:HKEY_LOCAL_MACHINE---àSYSTEM---àCurrentControlSet---àServices,还记得上面03-4图中的服务名称么?对了就是那个“wuauserv”,在Services键下打开如上图所示的“wuauserv”再展开,选中其下面的“Parmeters”,看右边的窗口中,是不是找到了此服务所对应的程序文件了?就是那个C:\WINDOWS\system32\wuauserv.dll喽。

每一个Svchost.exe中的服务都可以通过这种方式找到其对应的程序文件。

看到这里,朋友们是不是头都大了?这么麻烦啊?查个进程居然这么麻烦,而且就算找到了,又怎么能知道C:\WINDOWS\system32\wuauserv.dll是正常的程序还是木马呢?

呵,不要着急,也不要怕。上面不是在教给你知识么,而且在当年,没有专业工具之前,我们可都是这么一个个来找的。当然了,现在有了各种专业工具,的确是没必要非手动去找了。
    再看下图03-6



   
    在狙剑的进程管理列表中(图03-2),选中Svchost.exe,然后按鼠标右键---à选择“查看模块”,就可以得到上图中的列表,注意被蓝条选中的那个是不是就是费半天劲所找到的那个:C:\WINDOWS\system32\wuauserv.dll呢?
       找是找到了,可如何判断这是不是系统的服务模块呢?这一点微软为我们想的很周到,他将大多数的系统文件都进行了数字签名,我们只需要检查一下这个文件有没有系统文件的数字签名,就可以准确的判断,这是不是一个系统文件。
       如何检查呢?在列表中按右键,选择“隐蒇微软签名项”就可以将所有系统文件隐藏起来,剩下的就是非系统的文件啦,简单不?
       数字签名验证还可以应用在对进程的判断中,在图03-2中,列表中共有19个进程,这些个进程中哪些是系统的哪些又不是呢?我们仍然可以利用数字签名来判断,在列表中按右键,选择“隐蒇微软签名项”就可以将所有系统进程藏起来,剩下的就是非系统的进程。
   上面也说过了,一共有5个SVCHOST.exe进程,那我们是不是需要在每个SVCHOST.exe进程上都重复一遍,查看模块----à隐藏微软签名项 的过程呢?答案是不需要,在图03-2的进程列表中,按右键,里面的一个“扫描无微软签名模块”的选项,点击它一下,就可以列出所有进程中所有没有签名的模块了。
       还有一个问题是,如果手头没有工具怎么办呢?就没有办法查看这些进程中的模块了吗?有的,仍然有办法,看下图03-7



依次选择“开始”---à“所有程序”---à“附件”---à“系统工具”---à“系统信息”就可以打开上面的窗口。在窗口中选择“加载的模块”就可以看到左边窗口中的信息,看到没?我们找的那个wuauserv 就在里面。这里面列出了所有进程加载的所有模块,可以参考,但也仅仅是参考,更多的情况仍然尽量的使用专业工具来检查,会更方便更准确一些。
另外,有很多木马是可以隐藏的,对于这一类木马,用系统自带的工具是检查不出的。注意看上面的几张图,发现没有,图03-2比图03-1中的进程多出来了一个Hide.exe 这就是下面我们要讲的“进程的隐藏了”。也许有朋友会说,是不是取图时这个进程已经关掉了呢?呵,没关系,我这里提供了Hide.exe程序的样本,您可以下载后运行一下试试,看是否可以在任务管理器的进程列表中看到它。
下载地址:http://www.zhulinfeng.com/bbs/dispbbs.asp?BoardID=3&ID=78&replyID=&skin=1
里面还附了隐藏进程的源代码,懂编程的朋友们可以参考一下,看一看隐藏进程是如何的简单。



疱丁解马-木马查杀深度剖析之进程篇(三)
http://bbs.kafan.cn/viewthread.php?tid=172652&extra=page%3D2

[ 本帖最后由 於陵闲云 于 2007-12-18 17:23 编辑 ]

评分

参与人数 1经验 +2 收起 理由
huxiqiuzhen + 2 您的付出是论坛发展的长久动力!

查看全部评分

xrw
发表于 2007-12-17 20:38:20 | 显示全部楼层
谢谢,学习中
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-3-19 17:31 , Processed in 0.122594 second(s), 18 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表