捆绑技术是将两个或两个以上的文件捆绑在一起成为一个可执行文件,在执行这个文件的时候,捆绑在里面的文件都被执行。需要捆绑在一起的文件,可以是相同的文件格式,也可以是不同的文件格式。捆绑技术被黑客们广泛应用在互联网的恶意代码传播过程。通过发送一些用户感兴趣的文件,其中包含恶意软件的程序。当用户看到感兴趣的文件,点击后则感染相应的恶意代码。黑客们可以利用恶意代码来完成一些黑色经济的收入。
目前网络上流行的捆绑技术和方式主要有下面几种情况:
◆多文件捆绑。
捆绑技术中最简单的捆绑方式,也是最流行的捆绑技术实现方式之一。文件捆绑也就是将A.exe文件(正常文件)和B.exe文件(恶意代码)捆绑成C.exe文件。当用户点击C.exe文件时,用户看到的是A.exe文件的执行结果,而B.exe文件则在后台悄悄执行。一个Win32下正常的文件中包含以文件MZ开头,DOS文件头后面的PE头以PE 开头。检查是否被捆绑多文件,则可以通过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”