超强下载者免杀By DarkRaY[D.S.T]
你在本文可以学到:
1. 如何挑选下载者
2. 如何免杀下载者
①选择下载者
现在是个网页木马横飞的年代,而一些比较稳定的远程控制木马的体积都很大,为了方便木马的传播,于是便有了下载者的产生,它是连接起网页木马和隐藏在幕后黑手的沟通桥梁。世面上的下载者随处可见,但一个真正好使用的下载者应该具备什么样的功能呢?在我认为至少应该具备以下几种功能:
1. 隐蔽性:包括能够删除自身,插入进程,达到保护自己的目的。
2. 穿墙性:不能穿越防火墙的下载者就像是被拉起来的铁索桥。
3. 自启动:这项功能可以灵活选择,一般来说中一次网页木马就会在后台自动下载了。
4. 体积小:一般来说下载者所占的体积最好不要超过5K。
具备了这样几项功能的下载者,一般来说不错了。今天我给大家推荐的是由PERL编写的“4K无DLL下载者(如图1)”。
(图1:下载者生成器的界面)
②免杀下载者
1.定位特征码
让我们来温习一下使用MYCCL定位特征码的方法。针对不同的杀毒软件有不同的免杀方法,这就要熟悉杀毒软件的杀毒机制和杀毒软件的强项。比如对于文件的免杀,我们的首要目标就是躲避卡巴斯基的查杀,下面请一步一步跟我来!
打开MYCCL,载入生成好的下载者,建议把带后缀打上勾(纯熟个人习惯,对于文件免杀的时候可以不用勾选,对于内存免杀一定要勾选)。我们可以看到,当选中文件以后,MYCCL会给出我们一些文件的信息,比如有哪些PE段(如图2),一般我们选取的PE段是CODE段,顾名思义也就是代码段了,我们在开始位置里填入CODE段的起始位置,在分段长度中填入CODE段的物理长度,在分块个数中我建议大家每次分段10份,这样多次分段查杀可以节约很多时间,设置完成后我们点击生成(如图3)
(图3:PE文件的节表信息)
(图3:全部设置完成后用MYCCL生成样本)
接下来,我们到需要免杀的下载者的文件夹下会有一个OUTPUT,我们用杀毒软件进行查杀!查杀的出来的记得要删除(许多杀毒软件中都有设置)被查杀的样本文件,再用MYCCL进行二次处理(如图4)
(图4:发现一处特征码了)
我们选择“YES”继续生成样本让杀毒软件进行查杀,直到MYCCL提示找到特征码为止(如图5),然后我们点击特征区间,选中这段特征码,点击右键复合定位此处特征码,同样的在分块个数中我们设置10份,MYCCL会继续在OUTPUT下生成样本文件,重复刚才的步骤直到再此定位出特征码为止,一般要精确到2~4个字节,也就是比如000000F2F_00000199这段,下划线后面的部分末尾应该是2或者4(如图6)。
(图5:确定出特征码位置,并且给出图示)
(图6:定位出精确的特征码)
[特征] 000010B9_00000002
2.修改特征码
我们用UE(界面如图7)来修改特征码,打开我们的下载者,找到000010B9这个位置,看看它对应的是字符还是什么,如果是字符我们可以尝试修改大小写来达到免杀目的,或者直接填加00H,但是有可能导致下载者功能被破坏设置运行出错。为了安全我们使用通用跳转法来修改特征码。我们需要知道000010B9_00000002在内存中对应的地址,打开OC(界面如图8),选择文件,填入文件偏移地址也就是000010B9,点下“>>>>”我们就可以得到特征码在内存中对应的地址了,这里是13141CB9。用OD载入,跳转到13141CB9位置(如图9),是MOV语句,如果你不懂汇编语言可以参考8088汇编手册,这个是比较语句,如果你对汇编了解的话可以使用等效替换语句来达到免杀的目的,我们今天的介绍的是通用跳转法,在以后的文章中DarkRay将告诉大家更多。好了,回到主题,我们复制下这句汇编指令,然后往下找空白段,也就是HEX值为0000的地方,我们把这段MOV汇编指令复制到空白段,记下空白段的地址,比如我找的是13141F44,在下面也就是13141F46加JMP指令,JMP指令在汇编中是无条件跳转指令,我们跳回到特征码对应的内存地址中紧接着的语句,我这里是JMP 13141CBE(如图10)。然后回到特征码对应的内存地址处,也就是13141CB9,我们把这段MOV汇编指令修改成JMP汇编指令,跳到的地址就是我们刚才找的空白段13141F44。全部修改完成后,单击鼠标右键-复制到可执行文件-所有修改,保存完毕,特征码的修改也就完成了。用杀毒软件查杀,提示没有检测到病毒,剩下的工作就是测试功能的完整性了,建议大家安装POWERSHADOW(影子系统),是类似于还原精灵的软件,如果有任何错误重新启动就可以恢复了,这样菜菜们就不怕啦!
(图7:高亮部分就是特征码了,左边的是对应的ASCII字符)
(图8:使用OC查询对应的内存地址)
(图9:跳转到特征码对应的内存地址处,查看相关的汇编指令信息)
(图10:找空白段修改汇编指令,这就是通用跳转法的典型思路)
3.加固防杀
修改文件特征码是对付卡巴斯基的好方法,卡巴的虚拟机脱壳技术很强悍,也就是上壳很容易就被查杀了,而我们修改了特征码再上壳卡巴是不会查杀的(不过也有特殊情况,卡巴查杀的不是下载者,而是壳)。对付了卡巴还有我们国产的内存杀毒能力很强的瑞星,对付瑞星我们只要上一层强悍的加密壳就可以了,比如北斗系列中的NSANTI,或者其他保护壳。我这里用ASProtect SKE(如图11)来逃过瑞星的查杀。选择OPTION,我们设置下相关参数,PROTECTION OPTION顾名思义就是保护参数,保持默认就可以了,FILE TO PROTECT就是你需要加壳的文件的地址,OUT就是输出的地址,再转到MODES,点击ADD MODES添加你刚才设置的模式,随便取个名字就可以了,我这里是DDDD,最后转到PROTECTION点击PROTECT就开始加壳执行保护了。这样一个比较完美的免杀下载者制作完成了。
(图11:ASPROTECT的操作界面)
4.总结
免杀的思路还有很多,和HACKING一样是注重思想的东西,还有很多的免杀方法,DarkRay会在以后的文章中告诉大家,对于免杀不会特征码定位的是肯定不行,这次我们又温习了一遍。如果大家有任何疑问欢迎到NOHACK论坛与我讨论,或者访问暗组http://www.darkst.com,我的ID是DarkRay.
(本文所用到的工具:ASProtect SKE 2.3 Beta、OC、OLLYDBG、MYCCL特征码定位器、ULTREDIT-32)