林网博客

探讨计算机网络安全 拓展计算机网络应用

« Linux教程-进程查看网页鼠标右键被禁用破解又一法 »

黑洞2005免杀技术-壳中改籽篇

一、木马免杀技术大盘点

分析一下目前木马躲杀几种手段的优劣,按它们出现的先后次序讲述。

--------------------------------------------------------------------------------

1.给木马加壳

评论:改变木马大小,对早期的杀毒软件有不错的免杀效果。但是当杀毒软件用上特征码扫描之后,就显得不怎么优秀了。
建议你选择一些生僻壳、强壳。

2.修改病毒特征码

评论:在杀毒软件采用多段病毒特征代码的今天,这种方法也显得力不从心了,而且你也不可能把全世界大大小小的杀毒软件都装一遍。

3.添加花指令+修改程序入口点

评论:对与木马的免杀比较通用,而且效果好,只是面对杀毒软件的内存查杀就束手无策了。上期的黑客手册,飘舞的风 给我们带来的一篇文章名叫“修改你的EXE壳程序来躲过查壳程序”涫稻褪钦庵址椒ā?

4.用壳变形器reloc修改壳的区段入口(壳中改籽技术)

评论:此方法就是我所说的壳中改籽的技术,对卡巴斯基的效果非常好,而且适合菜鸟掌握。

--------------------------------------------------------------------------------------
以上是我胡说八道的,如有雷同纯熟巧合!:) 今天我就用“壳中改籽技术”让黑洞2005Build20050311专业版的服务端,通过江民、诺盾和卡巴斯基的查杀!

二、给黑洞的服务端脱壳再加壳

先讲一下为什么这种技术叫“壳中改籽”。配置一个黑洞的服务端,然后用PEiD.exe来查看它是用什么加的壳,查到是UPX加的变态壳,程序的区段都给隐藏了,那么先得给黑洞服务端脱壳。用 upxfix.exe打开它,然后在Decompress method里面选择5,点击fix,这样就修复了(图一)。再用PEiD.exe查一下,看现在可以看到区段了吧。
为什么我一再提到这个区段呢?其实它就是文章的重点,也就是壳里面的籽。继续脱壳,用UPXShell打开修复好的黑洞服务端,点击解压缩(图二),完成后我们可以看到程序由原来的201 kb变成了506 KB ,大了一倍多。

有人可能要问为什么一定要给它脱壳呢?直接修改不可以吗?其实主要是因为黑洞的服务端里还有一个用做键盘记录的
dll文件,它也要做免杀处理。用 Resscope1.92打开黑洞的服务端,这个可是绝好的exe资源编辑器啊,先选择dllfile里面的getkey,然后点击文件→导出资源,这样dll文件就导出来了(图三)。它也是用upx加的变态壳,因为区段被加密了,所以我们也要给它脱壳,再加壳。脱壳的过程和先前脱黑洞服务端一样先用upxfix.exe打开它,但是这里注意在Decompress method里面,不要选择5,而是选择2修复,不然的话就脱不了壳了。
接着用UPXShell解压缩,现在dll文件的大小由原来的11 kb变成了18.5 kb,然后再用UPXShell重新给它加上壳。

三、修改upx壳里面的籽

把UPX加过壳的dll文件,用PEiD.exe打开查看,这里有几个数据需要我们记录,等下和修改后的文件做比较用。
先分别把程序入口点:000C220、文件偏移量:00002620 ,记录下来,然后点击查看EP区段,在区段查看上面再点右键选择cave查找器,把upx壳区段upx1的RVA:0000C3B5、 偏移:000027B5等参数也记录下来(图四)。

关键的时刻到了,reloc.exe闪亮登场。因为reloc 是一款命令下的工具,所以为了操作方便,我建议大家写一个bat文件和reloc放在同一目录。我们开始记录的数据现在派上用场了,编辑bat文件格式如下:

reloc 待修改程序 $程序入口 $文件偏移量 $壳的区段入口 $区段偏移 参数

那么对应我们的黑洞键盘记录dll文件所记录的数据,这个bat就应该这样写:

reloc 键盘记录.dll $C220 $2620 $C3B5 $27B5 5


数据前面的零不要写到bat里面,另外最后面的这个参数大家注意,其实它是设置修改时的偏移量的,一般dll文件选择5,exe文件选择5-9之间的数,一般选择6就好了。
设置完了,我们运行这个bat文件,开始修改。完毕之后我分别用国内和国外最强的杀毒软件江民、诺盾和卡巴斯基对键盘记录.dll进行扫描,它们均未发现病毒,我们的木马成功躲了过去。用PEiD.exe重新打开,可以发现PEiD已经无法分别键盘记录.dll是什么壳了,把原来记录的几个数据和现在对比一下发现程序入口和文件偏移量没有,而壳区段入口和区段偏移却改变了(图五)。

飘舞的风在上一期的文章里面说道:“peidv0.92是通过每个程序的开头几十个字节来比较是那种壳。”,看来不仅仅如此,peidv0.92还把壳的区段入口开头的几十个字节也作为了用来判断壳的类型的特征代码,杀毒软件也是如此,这样简单修改一下我们的木马就免杀了。

接着把这个已经修改好的dll文件,导回到黑洞的服务端,方法和导出dll是一样的,我就不再讲述了,然后把它用UPXShell再次加壳,加壳后的大小为200 kb。
现在可以开始我们的第二次免杀之旅了,同样用PEiD.exe把程序入口、文件偏移量、壳的区段入口、区段偏移,等数据记录下来,写入bat文件。
我的bat是这样写的:

reloc 1.exe $88620 $30A20 $887A3 $30BA3 6

我前面已经讲过了,修改exe文件的时候,参数选择5-9之间的数,一般选择6就好了。现在运行bat文件,黑洞服务端的免杀就全部完成了。用PEiD.exe查看,显示的是“Nothing found”看来PEiD已经不认识它了,再用江民、诺盾和卡巴斯基查杀,均显示无病毒,呵呵,欺骗成功。

四、结语

经过这么简单的修改以后效果是非常好的,相信以后这样的免杀技术将会成为主流技术,因为它简单实用。
分析它实现免杀的原理,不难看出换一个角度思考问题的重要性,从壳的修改转到壳中籽的修改,不能不说这是一种创新,
它使木马的免杀之路变宽了。最后谢谢 “朋友的家”提供一款这样优秀的工具。如果大家能够把这种技术和我前面提到的另外三种结合起来使用,相信它将是无懈可击的。




本文链接地址:http://www.linwan.net.cn/archives/210.html

原创文章如转载,请注明:转载自林网博客 [ http://www.linwan.net.cn/ ]
  • 相关文章():

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

联系邮箱:16881688&126[AT]com,Powered By Z-Blog 1.8 Arwen Build 81206

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本站内容必须也遵循“署名-非商业用途-保持一致”的创作共用协议.