疱丁解马之木马查杀深度剖析 下载本文

内容发布更新时间 : 2024/5/5 10:42:46星期一 下面是文章的全部内容请认真阅读。

程。此类进程是开机自动运行的,不依赖于用户的交互,说白了就是不用您管,它自己就会运行并且开始自己的工作,工作过程也无须您的干预。

说到这里,您可能会想,这不就是木马所需要的么?不错,有很多木马是以服务进程的形式存在的。那我们可以管理这些服务吗?答案是肯定的,我们的计算机,我们当然有权力管理了。看下面的图03-3:

(图片编号:03-3)

在桌面上“我的电脑”上面按右键,选择“管理”就可以打开如上图所示的窗口。依次选择:服务与应用程序----?服务 就可以看到上图右侧的服务列表。

最左侧的一列是服务的名称,需要注意的是这里列出的并非是对应的程序文件的名称,而仅仅是服务本身的名称。那我们又怎么知道这个服务对应的是哪个程序文件呢?如果我们想停止这个服务,并删除对应的程序文件,我们应该怎么做呢?

再看下图03-4:

(图片编号:03-4)

在某一个服务上面按鼠标右键,选择“属性”,就可以打开此服务对应的属性页面,如

上图所示。在这里,我们可以看到一些有用的信息,并对此服务进行启动、停止、禁用等操作。

最上面的是服务名称,第二列是显示名称,第三列是关于服务的描述,也就是这个服务

是做什么用的。当然了,我们不能迷信这里的描述,因为木马可以自行设定这个描述。再下面就是可执行文件的路径,也就是对应的进程与程序文件。这时我们再返回头去看03-2那个图,看一看进程PID为968的进程是不是就是这个“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

(图片编号: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-6)

在狙剑的进程管理列表中(图03-2),选中Svchost.exe,然后按鼠标右键---?选择“查

看模块”,就可以得到上图中的列表,注意被蓝条选中的那个是不是就是费半天劲所找到的那个:C:\\WINDOWS\\system32\\wuauserv.dll呢?

找是找到了,可如何判断这是不是系统的服务模块呢?这一点微软为我们想的很周到,

他将大多数的系统文件都进行了数字签名,我们只需要检查一下这个文件有没有系统文件的数字签名,就可以准确的判断,这是不是一个系统文件。

如何检查呢?在列表中按右键,选择“隐蒇微软签名项”就可以将所有系统文件隐藏起

来,剩下的就是非系统的文件啦,简单不?

数字签名验证还可以应用在对进程的判断中,在图03-2中,列表中共有19个进程,这

些个进程中哪些是系统的哪些又不是呢?我们仍然可以利用数字签名来判断,在列表中按右

键,选择“隐蒇微软签名项”就可以将所有系统进程藏起来,剩下的就是非系统的进程。

上面也说过了,一共有5个SVCHOST.exe进程,那我们是不是需要在每个

SVCHOST.exe进程上都重复一遍,查看模块----?隐藏微软签名项 的过程呢?答案是不需要,在图03-2的进程列表中,按右键,里面的一个“扫描无微软签名模块”的选项,点击它一下,就可以列出所有进程中所有没有签名的模块了。

还有一个问题是,如果手头没有工具怎么办呢?就没有办法查看这些进程中的模块了

吗?有的,仍然有办法,看下图03-7:

(图片编号:03-7)

依次选择“开始”---?“所有程序”---?“附件”---?“系统工具”---?“系统信息”就可以打开上面的窗口。在窗口中选择“加载的模块”就可以看到左边窗口中的信息,看到没?我们找的那个wuauserv 就在里面。这里面列出了所有进程加载的所有模块,可以参考,但也仅仅是参考,更多的情况仍然尽量的使用专业工具来检查,会更方便更准确一些。

另外,有很多木马是可以隐藏的,对于这一类木马,用系统自带的工具是检查不出的。注意看上面的几张图,发现没有,图03-2比图03-1中的进程多出来了一个Hide.exe 这就是下面我们要讲的“进程的隐藏了”。也许有朋友会说,是不是取图时这个进程已经关掉了呢?呵,没关系,我这里提供了Hide.exe程序的样本,您可以下载后运行一下试试,看是否可