查看: 3104|回复: 2
收起左侧

疱丁解马-木马查杀深度剖析之自启动项篇(一)

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


四、木马的查杀之自启动项篇
    自启动项的检查与清除,毫无疑问是查杀木马的关键手段与方法。而且,清掉木马的自启动项,让其自然而亡,是最优雅的杀马方法,不那么暴力也就轻易不会遇到反击。对驱动级的或注入型的木马,这种手段更显其优越性。
    而自启动项的选择与设置,更是一种创意的体现,一些非技术型的木马通常可在此看到其作者非同一般的创造性思维。
    自启动,顾名思义,就是无须用户干预而自行启动的程序,按启动方式又分为两种,一种是开机自运行的程序;一种是触发式启动的程序。
    下面我们将分别来解剖之,但在此之前,我们先要学习一些基础的知识:
1、注册表基础
    由于大多数的自启动位置都在注册表中,所以,首先,我们需要了解“注册表”是什么。
注册表从功能上说,它是一个存储各种设置信息的数据仓库,系统的全部设置几乎都存在那里,比如:你用的是什么墙纸、什么屏保、IE的首页、IE窗口的大小等等。当然了,开机时需要加载的驱动、开启的服务、运行的程序等等也都存储在这里。
    而从实质上来说呢,注册表其实是由一些记录配置信息的文件组成的,这些文件中的大部分存在“\Windows\System32\Config\”目录下,还有一部分存在用户配置文件夹中,也就是下面将要讲到的03-24图中的用户文件夹中。
    这些文件有一个很难听的名字叫做储巢,也就是朋友可能听过的HIVE文件。
    由于注册表对系统实在是太重要的了,任何损坏都有可能造成系统彻底的崩溃,所以,系统对注册表的保护也是很严密的,正常情况下,你无法对注册表HIVE文件进行任何的直接操作,看下图03-18





    你不仅无法打开、修改,你甚至无法进行拷贝操作。而系统保护注册表的手段,就是由系统以独占的方式打开注册表文件,这样你的任何针对此文件的操作,都将被拒绝。下面,我们来验证一下,看下图03-19





    打开狙剑,选择“进程管理”,在进程列表中选中“system”进程,再选择“查看打开的文件”,就可以看到系统打开的所有文件,看上图中蓝条选中的那一项,是不是就是我们无法进行操作的“\Windows\System32\Config\system”文件呢?
       注意:狙剑提供了关闭其它进程打开的文件的功能,关闭后,本来无法操作的文件就可以进行正常的操作了。但是,那是对付木马的,而不是对付系统的,因为木马也同样可以利用独占打开的方式来禁止我们对其文件的访问。关闭系统打开的关键文件将发生无可预料的结果,切勿偿试!(关于文件相关的内容,我们在以后的章节中会有详细的讲解。)
       那我们是否就无法操作注册表了呢?当然不是,系统在保护注册表文件的同时,也提供了操作注册表的工具-“注册表编辑器”。
    在“开始”菜单中,选择“运行”,输入“regedit.exe”就可以打开注册表编辑器,打开后的情况是这样的,看下图03-20





    上面的各项称为“键”,最上层的是“根键”下面的叫做“子键”,其与上面我们说的注册表文件一一对应,对应关系如下:
l
HKEY_LOCAL_MACHINE\SAM
à Windows\System32\config\sam
l
HKEY_LOCAL_MACHINE\SECURITY à Windows\System32\config\security
l
HKEY_LOCAL_MACHINE\SOFTWARE à Windows\System32\config\software
l
HKEY_LOCAL_MACHINE\SYSTEM à Windows\System32\config\system
l
HKEY_USERS\.DEFAULT à Windows\System32\config\Default
l
HKEY_USERS\S-1-5-XX_XXX
à \Documents and Settings\<用户名>\Ntuser.dat
l
HKEY_USERS\S-1-5-XX_XXX_Classes à\Documents and Settings\<用户名>\Local Settings\Application Data\Microsoft\Windows\Usrclass.dat
    还有其它的键呢?又对应哪些文件呢?呵,这要从注册表的数据类型说起了,除了上面的键外,其它的几个键是属于REG_LINK类型,直翻过来就是“注册表链接”了,这种类型的键是透明的指向另一个键的一个链接,也可以理解成这些键只是另外的某个子键的快速入口或某类相似键的汇总而已,本身并没有文件,其链接的键对应如下:
l
HKEY_CLASS_ROOT
中的内容来自于下面的两个注册键: HKEY_LOCAL_MACHINE\SOFTWARE\Classes
HKEY_CURRENT_USER\SoftWare\Classes
l
HKEY_CURRENT_USER中的内容是当前用户的信息,来自于HKEY_USERS\S-1-5-XX-XXXX
à \Documents and Settings\<用户名>\Ntuser.dat
l
HKEY_CURRENT_CONFIG中的内容来自于HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\Current
    当你修改有链接关系的任一键中的数据时,对应的链接键也会体现出来,比如:你修改了HKEY_CLASS_ROOT中的内容,那么你的修改也同时体现在了HKEY_LOCAL_MACHINE\SOFTWARE\Classes中,因为这本就是同一个文件中的同一部分数据。
    下面我们再简单的说一说SID(安全标识符)也就是上面的“S-1-5-XX-XXX”,其后面部分我用“XXX”取代了,后面是不定值。

       SID
前面的定义是固定的,比如:S-1-5-18是本地系统账户(Local SystemS-1-5-19是本地服务账户、S-1-5-20是网络服务账户等(更多信息,请参考专业资料)
       SID后面的部分是全球唯一的,就是:329068152-606747145-682003330-1003那部分,在注册表中这个是保存了当前用户的配置信息,也就是HKEY_CURRENT_USER指向的部分。(关于用户的概念请参考后面的相关章节)
       接下来,我们再看看每个键中都存储了哪些信息:
l
HKEY_CURRENT_USER中存储了一些与当前登录用户有关联的数据,也就是你个人的一些设定都存在了这里。
l
HKEY_CLASSES_ROOT中存储的是文件关联和COM对像的注册信息,什么样的文件由什么程序来打开就是存在了这里。
l
HKEY_LOCAL_MACHINE中存储的是系统相关的信息,比如:驱动、服务等。
l
HKEY_USERS存储的是所有账户的信息。
l
HKEY_CURRENT_CONFIG中存储的是当前硬件配置信息。
    呵,上面都是一些基本的知识,看起来有些枯燥,能理解就理解,理解不了就算了,并不影响后面对木马的查杀。这里之所以讲这些,是提供给想深入了解系统知识的朋友的,要想成为高手就不能不了解这些。
    下面我们再来点动手的,提一提精神。那些禁止我们打开、修改甚至不让我们复制的注册表文件我们难道真的就没办法看看里面是什么吗?嘿,不知道有没有好奇心跟我一样重的朋友。想当年,我可是想尽办法也想看看怎么把那些文件给打开的,呵,没办法,好奇心就是重。我们下面就动手来看看,那里面都是些什么神秘的东西,系统居然看都不让我们看。
    先看下图03-21



    打开狙剑,选择“磁盘文件管理”,在打开的选择框中选择系统盘,然后找到Windows\System32\config\目录下的注册表文件,按右键,选择“复制文件”。在弹出的保存框中,给新文件起个名字。OK了,我们成功的复制出了系统本来不想让我们看到的注册表文件。(怎么复制这些不能复制的文件、怎么删除不能删除的文件等我们会在后面的“木马的查杀之文件篇”中统一讲解”)
       文件复制出来了,我们怎么来看里面都是什么呢?两种方法,一种是用十六进制编辑器查看,当然了,这种文件是特殊格式的文件,用十六进制编辑器看,看得一定是有些晕的,要做好心理准备哦。第二个方法就是利用Regedit.exe(注册表编辑器)的“加载配置单元”的功能。
       这里,我们讲一讲第二种方法,打开注册表编辑器,先选中HKEY_LOCAL_MACHINE键(注意:这一步不要省略,不然加载配置单元项是灰的,也可以选中USER键),然后依次选择“文件”à“加载配置单元”。如下图03-22





    在弹出的选择框中选择我们刚才复制出来的注册表文件,在项名字中随便输入一个名字,这里我输入的是“Test”,然后,就加载成功了,看下图03-23,是不是多出了一个Test键呢?这个键跟System键的内容是一样的,因为我们复制的就是System注册表文件:



    注意一下儿,Test里面少了这个键“CurrentControlSet”,为什么会少一个呢?不用我说朋友们也应该知道为什么吧?什么,不知道?那再看看他的名字“Current-Control-Set”这回知道了吧?对了,这个键也是个链接键,是从ControlSet001ControlSet002中链接的内容,是“当前的”设置。所以,文件中是没有的。而注册表编辑器是从内存中读取的注册表内容,因此是有的。
    选中“Test”键,在文件菜单中选择“卸载配置单元”就可以卸掉这个键了。
       好了,基础知识讲到这里,应该是够用了,我们接下来就分别讲解一下子,开机自动运行的程序与触发式启动的程序。



疱丁解马-木马查杀深度培析之自启动项篇(二)
http://bbs.kafan.cn/viewthread.php?tid=172740&extra=page%3D2




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

评分

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

查看全部评分

xqiafl
发表于 2007-12-17 22:12:15 | 显示全部楼层
这个贴子不错哦!!  虽然没太详细看. 现在有点累了,顶下子.有时间再看吧!

个人感觉写的还是不错的!
深红的雪
发表于 2007-12-18 19:40:14 | 显示全部楼层
不错,收藏了。楼主继续转
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

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

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-1-11 10:57 , Processed in 0.137097 second(s), 18 queries .

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

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