20145314郑凯杰《网络对抗技术》多文件捆绑(压缩捆绑)的实现

20145314郑凯杰《网络对抗技术》多文件捆绑(压缩捆绑)的实现

一、本节摘要

  • 简介:压缩捆绑是捆绑技术中最简单的捆绑方式,也是最流行的捆绑技术实现方式之一。简单来说就是两个文件的拼接。
  • 目标:
    1. 用winrar功能实现可执行文件合并,尝试用病毒捆绑正常软件,完成捆绑攻击
    2. 用DOS命令行的COPY功能实现三类文件(文本文件、音频文件和可执行文件)文件捆绑并分析
    3. 用DOS命令行的TYPE功能实现三类文件文件捆绑并实现简单信息隐藏
  • 工作环境:Windows 7
  • 最终成果:已实现所有目标

二、实现过程

1、用经典软件winrar的功能

用winrar的简单功能,创建自解压可执行文件,实现恶意PE的与正常PE的合并。

我们直接实战,将目标程序设定为CS的可执行exe文件,首先可以看到其文件大小是84KB:

右键->添加到压缩文件:

选择创建自解压格式,压缩方式选择存储。这是因为要保证其大小为最小。并打开高级一栏,自解压选项:

在解压目录里选择c:\,这样以来在每台Windows系统的计算机下都可以运行。

在很关键的一页,设置中,填写解压前执行这两个文件:首先填写我们已经经过免杀的恶意PE程序的路径,接着填入目标程序cstrike.exe的路径。这样以来首先能保证攻击的实现,其次才是很好的伪装。

这一步是为了在自解压之前自动运行我们的恶意程序,然后再运行原程序。

其他一些设置这里就不说了,主要的原则就是安静地悄悄的干。

接着确定后压出需要的文件,这里可以再包装一手:

将我们解压出的文件隐藏成原图标,看起来就跟真的程序一样了。点击确定,输出压缩包

输出的程序可以以假乱真了。改个名字,开始

成功开始,首先出现一个黑框,完成回连。关闭黑框后,CS自动打开了。

纯绿色的简单手工制作,360也杀不出来

用这种方式实现文件的捆绑,可以实现不止一个的文件进行捆绑,而且其平台可移植性也同样得到证明(在虚拟机下试验过,是一种简单粗暴的方法)

用winhex打开,可以看到:

其文件头是 4D 5A 这是标准的EXE文件文件头。参考各类文件文件头汇总

从简单方法来判断,这个方法还是有一定隐蔽性的,还是挺毒辣的。

2、用DOS命令行实现文件捆绑

用这个功能可以简单实现文件捆绑,主要涉及范围是MP3为代表的音频文件合并,txt为代表的文本文件合并效果很好。但是对于EXE,就比较呵呵,毕竟dos命令行的copy功能还是相对愚蠢的,hhh,

当然我也会在后面试验一下exe的合并。

①实现txt文件捆绑

介绍下我们的目标文件,是一组txt文件:

在haha.txt文件中,文本是空的,接下来实现的效果就是将这么多的文件逐个合并入haha.txt中:

首先进入到我们的根目录下。

输入命令:copy *.txt haha.txt

会询问是否覆盖haha.txt,确认

完成合并后,打开haha.txt,发现文件的内容已经完成了合并。最后还多了一个箭头。试了几次,这种箭头没办法解决。

于是还有一种更优化的方式:

用type命令,type 命令本来是用来在dos命令行下显示文件,但其内核却是可以将文件的内容提取出来。我们只要再进一步,将这提取出来的文件再放回到同一个文件中,就可以实现文本文件内容的提取及捆绑。

输入type *.txt haha

先将所有txt文件的内容提取出来,再注入到haha中去。(为什么不用haha.txt)因为这样会造成haha.txt的文件提取两次,最终的结果就会变成123123。

命令成功后,将haha文件的后缀该改为.txt

打开查看:

文本文件成功合并。而且没有了→

②实现音频文件捆绑

同样用上面比较先进的type方法合并两个音频文件 A和B

可以发现,文件大小是直接相加得到的。

试听效果发现,是直接两个音频的合并。

③实现可执行PE文件捆绑

步骤同上,合并两个EXE文件

大小还是两个源文件的合并,接下来看看效果:

改为.exe后缀后,直接被杀出来了···

添加信任后,改后缀运行,发现这个EXE程序会率先执行先添加的exe文件(就是我们的后门),关闭后也不会进行下一步的运行。

用winhex进行分析:

找到我们的后门程序exe的长度为00007DF0

因此,在合并完的haha.exe文件中找到相应位置:

可以发现,接下来的一堆16进制数,就是第二个exe文件中的。

所以可以推测,type与copy的功能,就是直接将两个文件的二进制流首位相连,形成一个新的文件。这种愚蠢的办法,并不能实现我们的目标。但是它具有什么现实意义呢?

我觉得就是,可以进行部分的信息隐藏

3、利用DOS文件捆绑实现信息隐藏

上面用过了很多其他文件格式,这里就用一个图片的,实现把密码隐藏进图片里:

需要保存的信息为tongliagatong,以文本形式先存在key.txt中。

在命令行中输入命令 copy test.png\b + key.txt\a haha.png

其中参数/b指定以二进制格式复制、合并文件;参数/a指定以ASCII格式复制、合并文件。我这样做是为了更好实现隐藏信息

两张图片并无不同,大小也一致

用winhex打开,查看其文本:

就可以发现,我们需要隐藏的信息被隐藏在了最后。

总结:由于DOS命令行功能有限,所以最多只能实现到这个步骤了,只能实现后门程序的普通覆盖式捆绑,没有办法做到阴险的攻击。但是在此基础上也发现了一种网络攻防的重要步骤——信息隐藏!还是具有一定成功意义的文件捆绑。

posted on 2017-06-16 20:47  20145314郑凯杰  阅读(1187)  评论(0编辑  收藏  举报

导航