病毒木马查杀实战第018篇:病毒特征码查杀之基本原理

1、前言

    在前篇《杀毒与免杀技术详解之二:特征码定位-工具及原理 》中,笔者主要介绍了MyCCL这个特征码定位工具的使用方式,并对它的原理进行了一步步的分析解释,最后讲了学习这一工具的意义和作用。今天,在这实战篇中,我们将应用前面学到的知识,以几个市面上的特征码杀毒引擎为例,进行实战的免杀。同时也非常欢迎诸位朋友指点,互相学习、进步!

2、实战环境

    实验主机: Vmware 11虚拟机 
    操作系统: XP sp3 
    实验用具: MyCCL 2.1、C32Asm、一份病毒样本(encode.exe)、百度杀毒、360杀毒抢鲜版 
    (tips: 实在是不建议在物理机进行实验,运行恶意程序风险很大)

    笔者已经准备好了病毒样本进行实验,在文章最后会连同视频一起分享出来。当然,大家也可以拿自己的程序进行实战,操作的方法是大同小异的! 
    准备好工具之后,我们先将虚拟机中的网断开。笔者这里是NAT上网,直接禁用本地连接即可。 
本地连接图 
    这一步是为了禁用360的云查杀功能,我们要免杀的引擎是本地的,不能混在一起免杀。 
    第二步,我们打开360杀毒主界面: 
360主界面1
    在这里将实时防护关闭,以免一会自动把我们实验的样本杀了,然后点击设置: 
360设置 
    在这里将最后两条的√去掉,防止在免杀过程中,自动上传分析文件,导致引擎发生改变。 
    最后一步设置,将引擎设置为只开启系统修复引擎即可: 
设置系统修复引擎

3、开始实战

    用杀软查杀一下病毒样本看看: 
实战1_查毒0
    确定没问题。现在万事俱备了,让我们开始免杀实战吧!先打开MyCCL,按上篇讲过的方法,”文件”选好病毒样本、”目录”选好分块文件存放目录、设置分块数量(我这为20),设置好如下图: 
实战1_设置

    点击<生成>,弹出双选框选’Yes’,生成完毕。然后打开分块文件目录: 
实战1_分块文件

    确定分块文件生成OK了,然后用配置好的360杀毒,对所有分块文件进行查杀: 
实战1_报毒1

    将报毒的文件手动删除,然后点暂不处理,别点立即处理。因为只有删除掉,MyCCL才能定位特征码。 
    接下来就可以点击”二次处理”按钮了,二次处理过后,再查杀一下: 
实战1_无毒

    无毒的话就不用继续查杀,如果有毒,就有重复”查杀删除->二次处理->查杀删除……”的循环。现在点击特征区间看看: 
实战1_特征区间1

    这里的格式是: 前一段是十六进制的文件偏移,后一段是十进制的特征码长度。我们第一次定位的特征码有4041字节!这么大的范围,肯定是不能直接进行修改免杀,所以我们要进行”复合定位”! 
    在特征区间这一行,右键->复合定位此处特征。然后就和一开始的情况差不多了,只是范围缩小了: 
实战1_复合定位

    我们再重复刚才的步骤: “生成->查杀删除->二次处理->查杀删除->二次处理……”,就能得到更小范围的特征码。一般四次以内的重复操作,就能得到2字节范围的特征码,我们就能进行特征码的修改。

    一番重复定位之后,我们最终得到了特征码的区间,通过再次点击”二次处理”,可以生成一个定位图:

特征码 物理地址/物理长度 如下:
[特征] 0004A982_00000002

特征码分布示意图:
[--------------------------------------------------]
[--------------------------------------------------]
[--------------------------------------------------]
[--------------------------------------------------]
[--------------------------------M-----------------]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

    这时候,我们就可以查看一下特征码具体长什么样。笔者使用的是C32Asm这一款工具,在百度一查就有安全的下载地址。通过这款工具,我们可以很轻松地查看、修改文件内容,它有”静态反汇编”的功能,所以修改起特征码很方便。 
    笔者以后会写一篇文章,专门讨论特征码的修改,所以不会修改也不必担忧,现在学习的重点是定位! 
    我们打开C32Asm,将病毒样本(不是分块文件)拖入其中: 
实战1_C32启动 
    我们点击”十六进制模式”,这个模式比较灵活,所以笔者推荐使用。一打开,看见一堆十六进制码,别慌,让我们先跳到特征码的位置!右键点击->跳到: 
实战1_跳转1

    将刚才定位出的特征码的位置,填写下去,点击”确定”: 
实战1_特征码HEX

    看到这一段,熟悉病毒特征的朋友应该能看出来,这就是病毒本体的一部分,这几个函数就是病毒会用到的函数。有兴趣的朋友可以自行研究,在文章结尾,会连同视频一起打包,我们先回到正题上。 
    目光放到特征码上,”E9 7A”被定位为特征码,其实熟悉的朋友应该已经知道怎么改了,因为”E9”就是典型的jmp跳转的机器码,这里笔者还是带大家熟悉下。我们右键->对应汇编模式编辑,看看它对应的汇编代码: 
实战1_特征码Asm

    可以很清楚地看到,这句代码的意思就是要跳转到某地址上。在这里笔者先讲一个方法——等价替代法,顾名思义就是用具有相同功能的代码替换它。jmp的话,按经验一般可以改成call,也就是将”E9”改为”E8”。在这里我们右键->汇编: 
实战1_汇编填充

    在这里要将JMP改为CALL,点击”汇编”,然后就完成了: 
实战1_AsmDone

    我们点击”文件”->”保存”,然后退出,再用360杀毒扫描看看: 
实战1_最终查毒

    我们已经成功免杀啦!现在360本地引擎已经没办法查出毒来了。怎么样?不算困难吧!我们可以通过同样的原理,完成对BD引擎、小红伞引擎的查杀,这就留给大家作为练习吧。 
    下一篇会讲特征码修改的技巧,有兴趣的朋友记得关注哦! 
    如果有朋友没有理解,或是操作出了问题,没关系,本文附了操作视频,操作可以跟着笔者一起做。如果还是不行,欢迎回复本文,也可以联系笔者,互相交流

4、附录

实战操作视频及工具下载地址: 
http://pan.baidu.com/s/1o6os8mI 
推荐下大灰狼远控,可以用来作为免杀进一步练习,下载地址: 
http://yunpan.cn/cdNzPxwzWh7gk 访问密码 5fa3

顺便推荐下书籍,推荐书目:

  1. 《黑客免杀攻防》
  2. 《黑客免杀入门 》
  3. 《精通黑客免杀》
  4. 《杀不死的秘密: 反汇编揭露黑客免杀变种技术》

其中,笔者重点推荐第一本《黑客免杀攻防》,写得不错,而且相对其它几本比较新,很多新技术都有讲到。

版权声明:本文为博主原创文章,未经博主允许不得转载。 http://blog.csdn.net/zhuofeilong/article/details/47702319
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值