1、前言
在前篇《杀毒与免杀技术详解之二:特征码定位-工具及原理 》中,笔者主要介绍了MyCCL这个特征码定位工具的使用方式,并对它的原理进行了一步步的分析解释,最后讲了学习这一工具的意义和作用。今天,在这实战篇中,我们将应用前面学到的知识,以几个市面上的特征码杀毒引擎为例,进行实战的免杀。同时也非常欢迎诸位朋友指点,互相学习、进步!
2、实战环境
实验主机: Vmware 11虚拟机
操作系统: XP sp3
实验用具: MyCCL 2.1、C32Asm、一份病毒样本(encode.exe)、百度杀毒、360杀毒抢鲜版
(tips: 实在是不建议在物理机进行实验,运行恶意程序风险很大)
笔者已经准备好了病毒样本进行实验,在文章最后会连同视频一起分享出来。当然,大家也可以拿自己的程序进行实战,操作的方法是大同小异的!
准备好工具之后,我们先将虚拟机中的网断开。笔者这里是NAT上网,直接禁用本地连接即可。
这一步是为了禁用360的云查杀功能,我们要免杀的引擎是本地的,不能混在一起免杀。
第二步,我们打开360杀毒主界面:
在这里将实时防护关闭,以免一会自动把我们实验的样本杀了,然后点击设置:
在这里将最后两条的√去掉,防止在免杀过程中,自动上传分析文件,导致引擎发生改变。
最后一步设置,将引擎设置为只开启系统修复引擎即可:
3、开始实战
用杀软查杀一下病毒样本看看:
确定没问题。现在万事俱备了,让我们开始免杀实战吧!先打开MyCCL,按上篇讲过的方法,”文件”选好病毒样本、”目录”选好分块文件存放目录、设置分块数量(我这为20),设置好如下图:
点击<生成>,弹出双选框选’Yes’,生成完毕。然后打开分块文件目录:
确定分块文件生成OK了,然后用配置好的360杀毒,对所有分块文件进行查杀:
将报毒的文件手动删除,然后点暂不处理,别点立即处理。因为只有删除掉,MyCCL才能定位特征码。
接下来就可以点击”二次处理”按钮了,二次处理过后,再查杀一下:
无毒的话就不用继续查杀,如果有毒,就有重复”查杀删除->二次处理->查杀删除……”的循环。现在点击特征区间看看:
这里的格式是: 前一段是十六进制的文件偏移,后一段是十进制的特征码长度。我们第一次定位的特征码有4041字节!这么大的范围,肯定是不能直接进行修改免杀,所以我们要进行”复合定位”!
在特征区间这一行,右键->复合定位此处特征。然后就和一开始的情况差不多了,只是范围缩小了:
我们再重复刚才的步骤: “生成->查杀删除->二次处理->查杀删除->二次处理……”,就能得到更小范围的特征码。一般四次以内的重复操作,就能得到2字节范围的特征码,我们就能进行特征码的修改。
一番重复定位之后,我们最终得到了特征码的区间,通过再次点击”二次处理”,可以生成一个定位图:
特征码 物理地址/物理长度 如下:
[特征] 0004A982_00000002
特征码分布示意图:
[--------------------------------------------------]
[--------------------------------------------------]
[--------------------------------------------------]
[--------------------------------------------------]
[--------------------------------M-----------------]
这时候,我们就可以查看一下特征码具体长什么样。笔者使用的是C32Asm这一款工具,在百度一查就有安全的下载地址。通过这款工具,我们可以很轻松地查看、修改文件内容,它有”静态反汇编”的功能,所以修改起特征码很方便。
笔者以后会写一篇文章,专门讨论特征码的修改,所以不会修改也不必担忧,现在学习的重点是定位!
我们打开C32Asm,将病毒样本(不是分块文件)拖入其中:
我们点击”十六进制模式”,这个模式比较灵活,所以笔者推荐使用。一打开,看见一堆十六进制码,别慌,让我们先跳到特征码的位置!右键点击->跳到:
将刚才定位出的特征码的位置,填写下去,点击”确定”:
看到这一段,熟悉病毒特征的朋友应该能看出来,这就是病毒本体的一部分,这几个函数就是病毒会用到的函数。有兴趣的朋友可以自行研究,在文章结尾,会连同视频一起打包,我们先回到正题上。
目光放到特征码上,”E9 7A”被定位为特征码,其实熟悉的朋友应该已经知道怎么改了,因为”E9”就是典型的jmp跳转的机器码,这里笔者还是带大家熟悉下。我们右键->对应汇编模式编辑,看看它对应的汇编代码:
可以很清楚地看到,这句代码的意思就是要跳转到某地址上。在这里笔者先讲一个方法——等价替代法,顾名思义就是用具有相同功能的代码替换它。jmp的话,按经验一般可以改成call,也就是将”E9”改为”E8”。在这里我们右键->汇编:
在这里要将JMP改为CALL,点击”汇编”,然后就完成了:
我们点击”文件”->”保存”,然后退出,再用360杀毒扫描看看:
我们已经成功免杀啦!现在360本地引擎已经没办法查出毒来了。怎么样?不算困难吧!我们可以通过同样的原理,完成对BD引擎、小红伞引擎的查杀,这就留给大家作为练习吧。
下一篇会讲特征码修改的技巧,有兴趣的朋友记得关注哦!
如果有朋友没有理解,或是操作出了问题,没关系,本文附了操作视频,操作可以跟着笔者一起做。如果还是不行,欢迎回复本文,也可以联系笔者,互相交流。
4、附录
实战操作视频及工具下载地址:
http://pan.baidu.com/s/1o6os8mI
推荐下大灰狼远控,可以用来作为免杀进一步练习,下载地址:
http://yunpan.cn/cdNzPxwzWh7gk 访问密码 5fa3
顺便推荐下书籍,推荐书目:
- 《黑客免杀攻防》
- 《黑客免杀入门 》
- 《精通黑客免杀》
- 《杀不死的秘密: 反汇编揭露黑客免杀变种技术》
其中,笔者重点推荐第一本《黑客免杀攻防》,写得不错,而且相对其它几本比较新,很多新技术都有讲到。
版权声明:本文为博主原创文章,未经博主允许不得转载。