现在不安装杀毒软件的用户已经不多了,如何让木马在杀毒软件的眼皮底下活动而不被发现呢?这就需要进行免杀,其中最简单的就是修改木马特征码。
所谓的特征码其实可以说成病毒的“ 指纹” 。当杀毒软件公司收集到一只新的病毒时,他们就会从这个病毒程序中截取一小段独一无二而且足以表示这只病毒的二进制程序代码,来当作查毒程序辨认此病毒的依据。也就是说当杀毒软件在检查一个软件时如果发现里面含有已截取到的某种病毒的特征码,就会把这个软件认定为病毒。为了减少误报率,现在的杀毒软件会提取多段特征码,也就是常说的复合特征码。
一般情况下,杀毒软件的检测方式有两种,即“ 文件杀毒” 和“ 内存杀毒” 。也就是说,要想木马程序不被查杀,它的文件和内存两方面都可以免杀才行。
瑞星在内存杀毒方面首屈一指,而卡巴斯基则在文件杀毒方面高人一筹,所以黑客在制作免杀时都利用这两个杀毒软件作为参照物。有的时候我们往往改一处就可达到免杀效果,当然有些杀毒软件或者对某些木马要同时改几处才能免杀。
第一步:置程序MYCCL
MYCCL 是一个特征码的检测工具,在很多方面已经超过它的前辈CCL 。运行MYCCL 后点击界面上的“ 文件” 按钮来选择程序文件,并将“ 带后缀” 选项前面的打勾选中;接着点击“ 目录” 按钮来设置一个分块目录,默认会在程序目录中新建的一个名为“ OUTPUT ” 的目录。
然后在“ 分块个数” 选项中设置分块的个数,用户可以根据自己的需要进行设置。不过一般情况下都是采用由小到大来设置的,我们这里设置10 ;设置完成后点击“ 生成” 按钮(图1 ),就能在目录中生成相应的程序分块。
图1
第二步:位特征码范围
现在启动一款杀毒软件对分块目录进行查杀,当杀毒软件检测到被杀的文件后,将全部被杀的文件删除掉。接着返回到MYCCL 的主界面,点击“ 二次处理” 按钮后,MYCCL 会出现一个提示框,告知用户“ 程序已经找到一处特征码,但是可能还存在其他的特征码,是否继续生成文件进行分析?” ,我们点击“ 是” 按钮继续。
接着再用杀毒软件对分块目录进行查杀,查杀完成后再次点击“ 二次处理” 按钮,然后重复查杀、二次处理的步骤,直到MYCCL 提示无其他的特征码为止。接着再点击“ 二次处理” 按钮,MYCCL 就会提示查找到一处特征码“ 00004F06_00000B2A ” (图2 ),这样我们就获得了一个大致的特征码定位的范围。
图2
第三步:特征码范围
特征码的大概范围知道以后,需要继续操作来缩下特征码的范围,以便我们后面的修改操作。点击MYCCL 主界面中的“ 特征区间” 按钮,然后在MYCCL 主界面的右侧会出现一个名为“ 填充/ 特征码区间设定” 的窗口。选中我们刚刚找到的那段特征码,在它上面点击鼠标右键并选择菜单中的“ 复合定位此处特征” 命令。
接着在主界面的“ 分块个数” 选项中设置新的分块个数,我们将其设置为100 ,这就是刚刚我们所说的由小到大。然后点击“ 生成” 按钮,接着对目录里面的新的分块进行查杀。再点击“ 二次处理” 按钮,接着对生成分块的目录进行查杀,然后重复操作直到生成的文件没有被查杀后,点击“ 二次处理” 按钮得到一组特征码的地址0000515E_00000002 (图3 )。
图3
第四步:修改特征码内容
同样运行C32Asm 后载入服务端程序,接着点击窗口右键中的“ 跳转” 命令,在弹出窗口的“ OFFSET ” 输入特征码地址(图4 )点击确定按钮就会自动跳转到特征码的位置。然后直接用00 对找到的特征码进行填充,修改完成后对文件进行另存为操作即可。
图4
总结
更改特征码的确是免杀最常见,也是非常有效的方法之一。但是某种木马程序都有自己的运行规律,杀毒软件只要摸透这种木马的运行规律,杀毒软件的启发式杀毒就可以检测出来,更不用说现在流行的主动防御功能呢。因此黑客在进行免杀的时候,往往综合使用多种方法,最终才能躲过杀毒软件的多重检测。