浅谈文件捆绑技术及实现方式 tuijian_1.gif
2008-06-16 09:56:45
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。 [url]http://trustsec.blog.51cto.com/305338/82292[/url]
【51CTO.com 专家特稿】随着恶意代码的发展越来越广泛,以及其强大的破坏性和更多样的传播方式,给人们带来更多的危害。叶子在前面的文章中已经跟大家谈过恶意代码的基本概念以及对其的研究分析流程。在本篇文章中叶子将给大家介绍一下恶意代码的传播方式之一的捆绑技术,以及常见的Winrar自解压捆绑技术的实现过程。
捆绑技术是将两个或两个以上的文件捆绑在一起成为一个可执行文件,在执行这个文件的时候,捆绑在里面的文件都被执行。需要捆绑在一起的文件,可以是相同的文件格式,也可以是不同的文件格式。捆绑技术被***们广泛应用在互联网的恶意代码传播过程。通过发送一些用户感兴趣的文件,其中包含恶意软件的程序。当用户看到感兴趣的文件,点击后则感染相应的恶意代码。***们可以利用恶意代码来完成一些黑色经济的收入。
目前网络上流行的捆绑技术和方式主要有下面几种情况:
◆多文件捆绑。
捆绑技术中最简单的捆绑方式,也是最流行的捆绑技术实现方式之一。文件捆绑也就是将A.exe文件(正常文件)和B.exe文件(恶意代码)捆绑成 C.exe文件。当用户点击C.exe文件时,用户看到的是A.exe文件的执行结果,而B.exe文件则在后台悄悄执行。一个Win32下正常的文件中包含以文件MZ开头,DOS文件头后面的PE头以PE\0\0开头。检查是否被捆绑多文件,则可以通过UltraEdit类的工具打开目标文件搜索关键字 MZ或者PE。如果找到两个或者两个以上,则表明此文件一定把捆绑了其它的文件。叶子将在后面的实例中介绍如何实现文件捆绑的操作过程。
◆资源融合捆绑。
了解Windows文件中PE结构的人都知道资源是EXE中的一个特殊的区段。这段区域可以用来包含EXE调用的资源信息等相关内容。而我们可以利用BeginUpdateResource 、UpdateResource、EndUpdateResource的API函数实现对资源内容的更新替换。编程人员只需先写一个包裹捆绑文件的头文件,文件中只需一段释放资源的代码。而捆绑器用的时候先将头文件释放出来,然后调用以上的三个API函数将待捆绑的文件更新到这个头文件中即完成了捆绑技术的实现。
◆漏洞利用捆绑
目前比较流行的捆绑技术之一,利用word、excel、flash等一些应用产品中的安全漏洞,通过对漏洞的利用,然后调用恶意代码进行执行。例如当一些研究人员发现word产品的安全漏洞后,***编写漏洞利用程序,并把恶意代码植入word的宿主文件中。当用户打开恶意的word文件时, word漏洞中的程序通过Shellcode调用恶意代码,并执行之。
除了这几种捆绑技术之外,当然还有更多的其它捆绑技术的实现方式。不过叶子的时间精力有限,无法做更深入的研究。如果有同道之人做了更深入的研究,希望也能发布出来进行共同进步。
接下来,叶子将通过一个实例进行讲解Winrar的捆绑技术实现操作过程。
工具环境:
WinRAR:解压缩工具。
Quick Batch File Compiler:快速批量文件编译程序
File1.exe(hfs2.exe):正常文件
File2.exe(RCBF_03031406.exe):***


使用WinRAR程序和QBFC程序实现***捆绑过程:
◆运行Quick Batch File Compiler,输入hfs2.exe,回车,再输入RCBF_03031406.exe,如图所示:

◆点击“Project”->“Options”,设置“Ghost Application”

◆点击“Build”,保存文件为“binder.exe”
◆创建WinRAR自解压文件,包含“binder.exe”、“hfs2.exe”、“RCBF_03031406.exe”文件。选择这三个文件,点击“add to archive”。

◆设置压缩文件,压缩文件名称为hfs.exe,选中“Create SFX archive”(自解压选项)。

◆选择“Advanced”,设置“SFX options”、
图1

◆设置“Setup Program”中的“Run after extraction”,名称为Quick Batch File Compiler工具生成的文件“Binder.exe”。

◆设置“Modes”中的“Silent mode”为“Hide all”,“Overwrite mode”为“Overwrite all files”。

◆最后“确定”,捆绑生成的自解压文件为hfs.exe文件。点击打开自解压的hfs.exe文件时,程序在执行完hfs2.exe文件后,执行***RCBF_03031406.exe。如果***原来是免杀的,则能达到hfs.exe文件也为免杀功能。
叶子简单介绍了文件捆绑技术的实现方式。至于对文件捆绑的检测和防范手段,叶子将在后面的文章中进一步的说明分析。

本文出自 “ 叶子” 博客,请务必保留此出处 [url]http://trustsec.blog.51cto.com/305338/82292[/url]