查看: 2882|回复: 0
收起左侧

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

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


3、触发式启动的程序

    什么叫做触发式启动的程序呢?触发式启动程序是指需要用户进行某一操作来触发而启动的程序。
      A、最常见的就是文件关联式的触发启动。

    比如说修改exe文件关联的木马,每当你运行exe文件时都将触发木马程序的执行,同样的,如果修改了gif文件关联,那么每当你打开gif文件时,就会触发木马程序的执行。
    下面我们就详细讲解一下修改文件关联的木马,我们以gif文件为例,先看下图03-28





    如果在“注册基础知识”一章中看仔细了,那么应该知道HKEY_CLASSES_ROOT键下存储的正是文件关联信息。看上图,各子键大都是以“.”开始的后面跟三个字母,想一想跟什么比较为像?呵,当然是文件的扩展名了。 Explorer.exe Regedit.exe …… 后面的扩展名说明了文件的类型,.exeWindows可执行文件。A.gifB.gif……后面的扩展名GIF说明了文件是GIF图片,那么我们如何查看哪一类型的文件是由哪个程序来打开的呢?
    看上图中的.gif键,其“默认”值是“giffile”。然后,我们再在HKEY_CLASSES_ROOT键下找到“giffile”子键,如下图03-29





    在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等电影文件,修改任何一个,都将有很大机会被触发,而修改多个呢?
       狙剑提供了对所有文件关联进行检查的功能,看下图03-30





    打开狙剑,在基本功能中选择“注册项扫描”,就可以对所有的文件关联及COM注册项等进行扫描。
    查找规则是列出所有非系统程序的文件关联,也就是说如果某一类型的文件并不是由系统程序打开的,那么就会被列出。虽然已经隐藏了上千个系统文件的文件关联,但剩下的仍然会有很多。不过,虽然不少,可是并不难判断,一个程序通常对应着很多种类型的文件,比如,一个暴风影音就对应叫几十种文件类型,很容易就可以判断出这是正常的关联。
    当然了,这功能平时用的机会并不多,但是一旦一只马儿清掉后,过几天就又死灰复燃时,检查文件关联也许会有意外的收获。
    下面呢,我们再说一说文件关联的设置,如果一个文件关联被木马修改了,我们如何改回正常的呢?通过上面的讲解,也许有基础的朋友已经可以通过修改注册表来实现文件关联的修改了。但是我们还有更简单的方法来进行文件关联的修改与设置,看下图03-31





    当打开一个未注册的文件时,或我们在清掉了一个原有的文件关联后,如上图所示,系统会弹出提示一个窗口。
       ABC.Test的扩展名是“.Test”这是我自己随便取的一个名字,系统当然不知道,对于不知道类型的文件,文件的图标通常就是上面图中的样子,一个标准的文件图标。
    这个类型的文件网上也不会有,所以也不用偿试在网上找了,不过,如果一般的可以偿试在网上找一找。这里我们自己来选择相应的文件关联程序,所以,我们选了上图中下面的一个选项“从列表中选择程序”。这个选项的意思是,由我们自己来选择用哪一个程序来打开扩展名是“Test”的文件。
    单击确定后,会出现下图所示的窗口,看图03-32





       Windows列了当前系统中安装的所有程序来供我们选择,这里我们选中了记事本,然后勾选下面的“始终使用选择的程序打开这种文件”,然后,点确定,就完成了.Test这种文件的文件关联设置。如果列表中没有我们需要的程序,还可以点击“浏览”自己找需要的程序。
    设置完成后,以后一旦我们双击扩展名为Test的文件,系统就会自动的调用记事本来打开这个文件。
    说完文件关联的,我们再接着说下一种。


       B、自动播放式的触发启动
    自动播放本是用于光盘的,当插入一个电影光盘到光驱时,系统会自动播放里面的内容,这就是自动播放的本意,播放什么是由光盘中的AutoRun.inf文件指定的。此文件的内容,通常如下:
———————————
[autorun]
open=AutoRun.exe
icon=AutoRun.ico
       ———————————
       Open那一行,指出了自动播放时系统自动运行的程序,icon指出了所显示的图标。后来有人用于了硬盘与U盘,在U盘或硬盘的分区,创建Autorun.inf文件,并在Open中指定木马程序,这样,当你打开硬盘分区或U盘时,就会触发木马程序的运行。
    这类启动,大部分安全工具都进行了监管,在狙剑的自启动项中会列出每个磁盘或分区的自动播放式的自启动程序。
       C、感染式的触发启动

    这就涉及到病毒了,电脑病毒通过感染正常的程序来实现自己的传播与启动。
    计算机病毒是什么呢?其实也是一段程序,只是其完成的是特殊的工作。上面我们说过了,程序就是一份计划书,里面存的是指令序列,标明了程序所完成的工作流程。那么病毒程序的工作流程是什么样子的呢?通常情况下,病毒程序的工作流是这样的“查找其它符合感染条件的程序à 判断是否已经感染 à 如果是则查找下一个,如果不是则修改其工作流程进行感染à 执行其它任务。”
    病毒程序又是如何感染其它程序的呢?病毒的感染其实就是对正常程序工作流程的修改,仍然用我们在进程篇中的那个例子来说明:正常情况下,一个程序存储的是一个工作的流程,如:动手取原料--à加工---à组装---à验收等等。而一旦被病毒感染后,这个流程就会被病毒修改,修改成这个样子:找老马分派工作-à 老马执行了病毒体 -à 动手取原料 -à加工---à组装---à验收等等,前两步工作就是病毒感染时硬给加上去的,以后每次执行被感染的程序时,都将从“找老马分派工作”开始,然后由老马完成自己的工作后,再转而执行此程序本应该进行的工作。
    也就是说,病毒将自己的病毒体附加到了正常的程序上面,并修改了程序的入口地址为病毒体的执行地址,最后再由病毒体执行完毕后跳回原程序的入口地址来执行原程序的功能,这一切对用户来说都是不可见的。
    用户一旦运行被感染的程序,实际上也就完成了病毒木马的触发启动。
病毒的清除并不复杂,不外乎就是一个分析,从被感染程序中找到病毒体,清掉,再恢复原程序的入口地址,就OK了。 但难就难在病毒与病毒是各不相同的,而新病毒又层出不穷,这就使得这种分析与清除工作需要大量的人力与精力。所以,也只有有实力的大公司才有可能很好的维护一个病毒库,并不断的分析新病毒来更新病毒库。
    所以,朋友们遇到感染型的病毒后,最先要做的就是提交样本给杀毒软件公司,而不是找安全工具的开发者求助,一个安全工具的开发者,我相信是有能力清除病毒的,但我同样相信,他是没有精力去做这些事情的,这种工作不是一个人可以做得来的。


      D、修改式的触发启动

    修改式的触发启动,主要是指修改原本为正常启动的环节,实现自身的启动,这个与感染式的比较像,但又不同。他们的修改并非大量的,而是有针对性的。
    有修改引导扇区的、有修改系统文件的。修改方法与病毒感染大致相同,就是在正常的指令序列中插入自己调用病毒或木马程序的指令,以实现在自己的启动。
    这种方式隐蔽性很强,但却很难逃过以数字签名验证为主要手段的启动项检查,因为一旦系统文件被修改,即不再能通过数字签名验证,前面提到的修改Userinit.exe的木马就是这样的一个例子。
    这种方法启动的木马,还使得清理起来比较困难,因为他们修改了系统文件,需要用原有的文件进行还原性的替换修复,如果手头有系统安装盘还好一点,没有就比较麻烦了。
    狙剑提供了系统文件修复的功能,其实这一功能也是调用的系统本身自带的系统文件修复,只是进行了少许的加工罢了。比如:有的光盘系统安装目录与原版系统盘并不相同,这样,用系统自带的系统文件修复功能时,即使你插入了系统安装盘,也会提示你找不到系统盘,而改进后的就可以手选择安装目录了。再比如,装机器时,有些装机员习惯在机器上拷贝一份安装目录,这样就不用频繁的插入系统光盘了。而这个硬盘上的目录,通常是不能用于系统文件修复的。改进后的多了一个全盘扫描系统安装目录的功能,你可以指定或让狙剑自动扫描安装目录后,再进行修复。
    修改引导区的,现在已经很少见到了,很多杀软都提供了恢复引导区的功能,相反,这种很少见的木马启动方式,安全工具反而很少有提供恢复的。
      E、事件触发启动

    呵,分类是我自己分的,名字也是自己取的,是否贴切很难说,大家就凑合着看吧。事件是指当你进行某项工作时,比如:下载
    与文件关联不同的是这种触发并不区分你下载的是哪一类的文件,也无须打开下载的文件,只要有下载的事件发生,就会触发。
    用过迅雷的朋友可能有体会,一旦下载东西,迅雷就会自动打开,而无论先前迅雷是否已经运行。试想,如果木马也有同样的本事,我们一下载东西就打开木马,那岂不是很可怕?
    目前我只发现了迅雷有这种功能,是否还有其它事件触发启动的程序存在,还不得而知。
    总之,启动的方式多种多样,手法也是各有不同,想一网打尽几乎是不可能的,只能是尽力的发现、加入、再有发现、再加入。而以上说的也只是常见的,还有一些并不常见的,我也就不多说了,因为没发现有利用的,这里也就不提了,以免被坏人利用。
    下面我们开始聊聊自启动项的隐藏与保护,虽然分成了隐藏与保护,但两者使用的也大多是相同的技术,也就合在一起聊了,能保护也就能隐藏,反之亦然。



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

http://bbs.kafan.cn/viewthread.php?tid=172756&extra=page%3D2




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

评分

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

查看全部评分

您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

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

Copyright © KaFan  KaFan.cn All Rights Reserved.

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

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

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