在很多时候木马程序为了保持自身隐蔽性和传播性,往往都会使自己的体积很小、需要的运行文件很少。然而有些时候需要调用到 一些其他外部的文件支持。才能达到某些不可告人的效果。

就像我过360杀毒写启动项一样,因为需要调用到一些其他的外部动态库文件。就不得不把这些文件给带上,那么这样一来木马程序运行时需要的文件就增加了,从一刚开始的单一文件 变成了现在的多文件。这样就很不利于木马的传播。

在打个比方:如果说我需要给别人的电脑发送木马文件,那么就不可能说把一堆乱七八糟的文件,全部都一股脑发送给他。这样做不仅目标太大 不容易隐藏,而且 只要是脑子正常的人 估计都不会去点击他。当然啦 如果你说你前期铺垫的很好 沟通的很到位 那么就另说。

通过上面的种种介绍知道了,我们了解到这些做不仅不易于隐藏和传播,而且木马文件还容易丢失。如果中途丢失了一个dll动态链接库文件,那么你的木马就别想在目标机器上运行了,就算是还能运行 或许也达不到预期的执行效果了。

那么接下来 我们就可以用到资源释放技术。把其他的附加动态库文件,全部通过插入资源的方式插入到木马程序当中。等在需要用到这些附加动态库文件时,在全部的释放出来。

这个过程分别分如下的5个步骤

第一步 查找资源位置 (FindResource函数)

第二部 获取资源大小(SizeofResource函数)

第三部 加载资源到内存(LoadResource函数)

第四部 锁定资源内存(LockResource函数)

第五部 从内存写到磁盘

代码如下:

我这里是用C++语言编写的,你们也可以用其他自己喜欢的语言。因为这些函数都是Windows平台提供的Api函数接口,只要是在Windows平台上其他的编程语言 也都可以使用。

按照上面的方式,把木马用到的所有的库文件或者是外部引用程序,都用插入资源的方式全部给包含进去。待木马在目标机器上运行时 在把他们全部给释放出来, 这样做就可以轻松解决多文件的尴尬, 当然啦! 这样会增大木马程序本身的体积,俗话说鱼和熊掌不可兼得 得其一即可。

最后修改日期:2019年8月7日

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。