| |
由于没有使用过RobinPE,我决定先在本地计算机上进行测试。从网上下载并运行RobinPE,点击“后门文件”选项后的“浏览”按钮,选择要插入的恶意程序。为了便于查看效果,我在这里设置了一款名为“激活专家”的小工具。 接着点击“整体植入”选项后的“浏览”按钮,选择被插入的正规文件,我在这选择了现在非常流行的播放器Media Player Classic(MPC)。 由于RobinPE只有在经过计算以后才能知道被植入的程序是否可以“容纳下”设置的恶意程序,点击“计算空间”按钮后很快就可以得出结论,如果给出“估计不行”的提示,就表明程序的间隙较小,不能容纳设置的恶意程序,所以恶意文件的体积一定不能过大。 如果程序提示“可以试试”后,就可以进行插入操作。在植入的方式上,既可以采用“整体植入”,也可以采用“分体植入”的方法。点击“开始植入”按钮,假如植入失败的话,程序就会出现错误提示,并退出RobinPE。 如果植入成功的话,RobinPE虽然不会出现任何的提示,但是从主窗口的下方可以查看到被植入的程序代码。通过测试,我向表妹介绍了RobinPE的利用原理:可执行文件由于编程的原因,大部分PE文件区间存在一定的间隙,RobinPE正好利用这些间隙将恶意程序插入到文件之中,由于是植入缝隙并没有增加区块,所以文件大小不变。 防不胜防的注入捆绑 可是当我在给表妹演示将灰鸽子的服务端程序植入到MPC中的时候,由于服务端程序过大,不能成功的进行植入,这下却将我难住了。我心想:虽然RobinPE可以植入其他一些体积较小的木马服务端程序,但那些木马都用得不顺手,怎么办呢? 后来表妹的一句话提醒了我:“是不是文件的空间不够多?”我明白由于正常的可执行文件的空隙有限,因此要想在一个可执行文件中插入一个体积较大的木马程序,就必须增大空隙,而增大空隙的方法只有一个——增加区块。 小贴士:增加区块既可以通过手工增加,也可以通过工具进行增加,大多数人会通过工具进行区块添加,一般选择的工具是ZeroAdd。 我运行ZeroAdd,点击“Pick a file”按钮选择MPC程序,接着在“Enter a name for the new section”选项中设置新建的区块名称,名称可以随便起,但只能是英文;然后“Enter # of bytes to add (in hex)”选项中填入增加的字节数,字节数最好是200的倍数,不然由于对齐的原因,可能造成程序无法运行;最后点击“Add new section!”按钮,就可以进行区块的添加。 植入成功,经过测试也能成功运行被植入的恶意程序。表妹问我这种注入捆绑和传统的捆绑文件又有什么区别呢?于是我决定通过以前对捆绑文件进行检测的方法,来对这种见缝插针的植入方法进行检测,如果没有检测出来,就表明这种方法和以前的捆绑文件还是有本质的区别的。 以前对捆绑文件的检测方法,一般分为三种,分别是通过杀毒软件、十六位编辑器、以及捆绑文件进行检测。首先我通过杀毒软件进行检测,没有发现病毒;接着通过Ultra Edit打开注入木马后的MPC,查找“This program”字段,发现有两处;用MT 捆绑克星查看同样发现两处文件头。虽然有两种方法依然可以检测出来,但我在通过加壳处理后,三种方法都无法检测出来了。“怪不得这个程序被进行了加壳处理”,我心想。 为MM支招 这种注入捆绑的方法是最近开始流行的,暂时还没有什么特别有效的防范方法。主要还是不要从不熟悉的网站下载文件,如果网站提供了文件的MD5值,最好对下载的文件检测一下。 由于并不是每个网站都提供了MD5值,所以最好还是通过杀毒软件和网络防火墙来进行防范。通过杀毒软件的注册表监控程序来时时监控注册表的变化,现在最新的杀毒软件都有注册表监控的功能。一旦发现可疑的文件,一定要注意注册表的变化,尤其是关于启动项键值的相关变化,然后再判断是否进行程序的安装运行。 |
|