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

疱丁解马-木马查杀深度剖析之文件篇(三)

[复制链接]
於陵闲云
发表于 2007-12-19 11:23:16 | 显示全部楼层 |阅读模式
A、利用技术手段隐藏文件

    讲完了障眼法后,我们讲点实在的。其实,如果您是从第一篇一直看过来的,那么应该可以想到一些手段了,是的,HOOKInLine-HOOK几乎可以用于任何地方,不但适用于隐藏进程、隐藏注册表,同样适用于隐藏文件,不同的只是HOOK的地方不同而已。
看下图0349





    这是某文件夹隐藏软件的HOOK情况,当用其隐藏文件或文件夹后,可以在SSDT检查中发现这个HOOKHOOK的功能函数是“NtQueryDirectoryFile”,当你恢复了此HOOK后,被隐藏的东西自然也就显现了。同理,Inline-Hook此函数,效果也是一样的。
       对于HOOK,每篇都在讲,这里就不过多讲述了。测试程序也不提供了,毕竟人家是商业软件,是*这个吃饭的。说明一下儿,内核代码扫描是扫描并恢复Inline-HOOK的地方。
   
    下面我们讲一讲借助文件系统隐藏文件的情况,上面的基础知识中我们已经讲过了,回顾一下儿“文件格式有特定的程序来识别并读取使用,而文件系统格式则由特定的驱动来识别并读取使用,文件系统驱动根据文件系统的不同而不同,FAT文件系统、NTFS文件系统分别由FastFat.sysNTFS.sys来管理。”
       这里我们再讲一个概念“文件过滤系统驱动”,听名字应该也能想出大概了吧?是的,这是一个文件过滤系统,付在文件系统上,像个筛子一样对传入文件系统驱动的信息进行过滤。文件过滤系统在现实中应用非常广泛,几乎所有的杀毒软件都会用到,而系统本身的系统还原也是应用的文件过滤系统,还有些硬盘还原之类的程序也在使用文件过滤驱动。
在网上找到了个借助文件过滤系统驱动来隐藏文件的例程,这里我们就借由此程序来看看文件过滤系统是如何隐藏文件的。(在此说明一下,说来也惭愧,测试程序都是在网上找的,其实应该是自己来写的,只是我的时间实在是太不够用了,只好偷懒了,在此也谢谢这些程序的作者们。)
    测试程序下载地址:http://www.zhulinfeng.com/Download/HideFile1.rar
    里面是有一个主程序,两个批处理文件。里面有使用说明,这里就不细说了。先看下图0350




    运行hideA.bat,同目录的HIDE.exe会被隐藏,这时就可以用各种工具来测试了,看是否能看到这个文件。运行狙剑的磁盘文件管理,在弹出的选择窗中选择C:盘,找到Test文件夹,如上图所示,会发现,里面有一个名字是HIDE.exe的被隐藏的文件。
    从哪里可以看到它是怎么隐藏的呢?文件系统过滤驱动又如何查看呢?看下图:





    在狙剑的扩展功能里,有FSD检查,FSD就是文件系统驱动,而在FSD检查列表中按右键,里面有一项是“文件过滤系统检查”就不可以查看本机安装的文件过滤系统了。(注意,请使用最新版的狙剑,旧版的虽然可以看到文件过滤系统,但显示文件路径有问题)
    这里没提供御载的功能,但是这类驱动都可以通过在“自启动项管理”中找到并清掉其启动项后,重启计算机来清除。
    文件过滤系统驱动之下,就是文件系统驱动了,HOOKInlineHOOK文件系统驱动都可以隐藏文件或保护文件不被删除。对文件系统驱动的HOOK比文件过滤系统更深,由于在网上没找到相应的程序,这里就不过多讲解了。在“图文详解高级木马的自我保护与查杀之策”中,有对这一块进行过详细的说明,不了解的可以去看看。
    其实,原理都是一样的,就像我在前面讲到的一样,当我们向操作系统发出指令后,操作系统有一个由外向里传递指令,再由里向外返回结果的过程,参于这一过程的有很多环节,在任何一个环节被拦截,都将导致我们的请求得不到执行或返回一个错误的结果,而安全软件的目的,就是尽量的减少这个环节,最好是由我们发送指令开始,省略掉所有的中间环节,直接得到结果。
    以狙剑的磁盘文件管理来说吧,为什么他可以看到被文件过滤系统隐藏甚至被文件系统驱动HOOKInline-HOOK隐藏的文件呢?就是因为他最大化的减少了这个指令执行的环节,自己实现了文件系统的解析。
    什么又是自己实现文件系统的解析呢?我们已经讲到,文件系统格式是文件在磁盘中存放的规则,文件存在了磁盘的哪里,磁盘的什么地方存放了什么东西只有相应的文件系统才知道,而自己解析就是自己分析磁盘扇区找到文件存放的规律,然后绕过文件系统驱动,自己去磁盘上找文件,并列出来,这样,中间各个环节的过滤与HOOK就起不到作用了。
    文件的删除也是同样的道理,是否允许删除是由系统在FSD环节中检查的,而狙剑的破坏文件是从发出破坏的指令开始,直接跳到了抹杀硬盘上的文件数据,自然中间环节中是否允许的检查也起不到作用了。
    那是不是自己实现文件系统解析就可以高枕无忧了呢?也不是,计算机中的一个操作涉及到方方面面,很难完全绕过,绕过了这里又触动了那里,如果有人针对文件系统解析来作手脚 ,也是完全可以的。再提供一个测试程序:
http://www.zhulinfeng.com/Download/HideFile2.rar

    这个也是从网上找到的,里面有详细的测试使用说明,这里也不多说了,只强调一点,测试程序没经过严格测试,很不稳定,有可能会蓝屏,我试用了三次其中蓝了一次。
    这个程序的作者专门针对自己解析文件系统的安全程序做了有针对性的HOOK,我们看下图0352





    当你装载隐藏文件的AK922.sys驱动,并成功隐藏文件之后,可以运行狙剑的“内核代码扫描”检查一下,会发现如上图所示的HOOK。他就是因为HOOK了这个“IofCompleteRequest”才使他成功的隐藏了文件,包括在自己解析文件系统的安全程序中隐藏其文件。(注:呵,你不用再用狙剑的磁盘文件管理来查看这个文件了,你只要一运行狙剑的磁盘文件管理,那么,你在文件夹中直接就可以看到它了。因为狙剑的磁盘文件管理默认会自动的恢复这个HOOK。)
    呵,上面说过了,安全软件检查时很难绕过所有环节,绕过了这里又触动了那里,为木马提供了可乘之机。而木马又何偿不是如此?隐藏了这里又露出了那里,为安全软件的检查提供了线索。所以,检查时多方面就行检查,才是最完善的,不要仅查一点。
    其实,这就跟我在进程的隐藏中说到的一样,这是一个不断斗争的过程,没有绝对的胜出者,木马隐藏与保护的新方法层出不穷,而安全软件的检查方法也在不断的更新,即使是昨天的技术可能就已经不足以检查出今天的木马,“不断的更新”是一个安全软件保持其有效性的最佳手段,而经常的翻新也是木马生存的基本条件,就看谁更努力了。
    遗憾的是从现在国内的软件行情来看,木马作者的更新动力比安全软件作者的动力要大上很多,巨额利润的引诱不但带给了其不断钻研创新的动力也给了其安心研究的物理环境,而安全软件作者的不断努力更多的却仅来自于责任心跟荣誉感,白天为了生活摆地摊卖白菜,晚上加班跟木马较劲。呵,不知这种生活能坚持多久。更不知道那些大叫着我只用免费软件的人,是如何想的,我想他们所说的免费软件也包括木马吧,必竟木马应该是永远不会向使用者收费的。
    好了,不说废话了,文件篇到此也就结束了,是不是感觉后面的几章不如前几章详细呢?我也有这种感觉,这一段时间天天熬夜实在是太累了,文章质量不但下降了,其它工作也受到了影响,所以,后面的主动防御篇就向后推一段时间再写,但肯定是会写完的。
    这一篇没做检查,发现有什么错误的,或有什么问题,请到论坛留言。另外,如果认为有什么应该讲一讲却遗漏没讲的,也可以提出来,最终我会把所有的文章再作最后的修改与补充,然后制成完本的电子文档放上去,供大家下载。
      


[ 本帖最后由 於陵闲云 于 2007-12-19 11:32 编辑 ]
ylo888
发表于 2007-12-21 09:58:07 | 显示全部楼层
楼主发表的文章全部拷下来了,以后慢慢的学习,感谢楼主的劳动和奉献,一万个感谢!ok!
jason137137
发表于 2007-12-21 11:12:44 | 显示全部楼层
蛮实用的哈~~谢谢LZ!
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

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

Copyright © KaFan  KaFan.cn All Rights Reserved.

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

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

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