频道栏目
读书频道 > 安全 > 黑客免杀攻防
3.3 脚本木马定位特征码
2013-09-27 11:40:17     我来说两句
收藏   我要投稿

本文所属图书 > 黑客免杀攻防

国内首部关于黑客免杀技术的专著,旨在为反病毒工程师剖析各种恶意软件和应对各种安全威胁提供全面指导。不仅从攻击者(黑客)的视角全方位揭示了黑客免杀技术的常用方法、常用技术和思想原理,还从防御者(反病  立即去当当网订购

为了让大家更直观地了解特征码定位技巧,笔者以脚本木马的特征码定位为例进行讲解,因为它相对更容易理解。俗话说“磨刀不误砍柴工”,下面先为大家介绍一下MyCCL特征码定位器这个工具,相信会对大家日后的深入研究与自学有帮助。打开MyCCL程序后的界面如图3-22所示。为了便于理解,我将MyCCL分为“参数区”与“控制区”来进行讲解。

 

(1)参数区

参数区各个参数及其说明如下。

文件路径:将进行特征码定位的木马文件的路径(必填项)。

目录路径:存放MyCCL即将生成的特征码样本的目录,默认是与木马同文件夹下的OUTPUT目录(必填项)。

分块个数:生成特征码样本的数量,数量越多,定位结果越精确(必填项)。

单位长度:填充无效字节的单位长度,例如填120,就是每次填充120个无效字节。

填充:填充数据设定,默认为“00”,也可以是其他十六进制信息。

开始位置:第一个特征码样本将会从此处指定的位置开始填充。

分段长度:填充字符的总长度。

结束位置:最后一个特征码样本填充到此处指定位置便结束了。

“正向”按钮:选择填充方向,例如“正向”就是从文件头部开始暴露。

复合定位:超过一处特征码时便需要选择此定位方法,推荐选择此方法。

单一定位:单一特征码定位。

(2)控制区

控制区各个按钮及其说明如下。

“文件”按钮:用来选择要进行免杀的木马文件。

“目录”按钮:用来选择生成特征码样本文件的目录,默认即可,无需选择。

“特征区间”按钮:用来展开存放已定位出来特征码的信息栏。

“<生成>”按钮:用来执行特征码定位样本生成的命令。

“二次处理”按钮:单击“<生成>”按钮,并删除带毒样本后,用来二次精确定位。

关于MyCCL就先介绍到这里,由于MyCCL存在后缀名Bug问题,所以不能生成带有后缀名的文件,但是现在的大多数反病毒软件都已经不查杀无后缀的脚本木马了,所以需要用一款工具来辅助完成任务。

现在就用海阳顶端脚本木马(简称“海阳木马”)做一个针对某反病毒软件的免杀案例。打开MyCCL后选择海阳木马,分块个数填写为100,如图3-23所示。有的读者可能会问了,为什么这个MyCCL变样了呢?其实这是一款改造过的MyCCL,它比原先的版本更加稳定,而且也没有了背景音乐,并且它对程序的一些资源与区段进行了删减,所以其体积也减小了20%,更利于各位读者研究与试验。

单击“<生成>”按钮后,运行文件名批量更改工具Bulk Rename Utility,打开特征码样本文件夹OUTPUT,依次单击菜单栏的“动作”→“全选”,如图3-24所示。

 

然后在“添加”框架内的“后缀名”里填入.asp,如图3-25所示。最后单击右下角的“重命名”按钮即可。

 

现在找到特征码样本文件夹OUTPUT,并进行查杀,查出了8个带毒文件。删除报毒样本后,还需将文件名更改回来,这样才能被MyCCL正确识别,否则将会定位出错误的结果。

再返回到MyCCL界面,单击“二次处理”按钮,并用前面的方法将文件重命名之后再次查杀。如此反复,最后得到的结果如图3-26所示。

 

应该怎样理解MyCCL提供的以下报告呢?下面我就带领大家一点点来了解。
------------------------------------------------
   >>复合特征码定位结果<<   
文件名:E:\免杀实验\2006P.asp
------------------------------------------------
特征码 物理地址/物理长度 如下:
[特征] 00000000_00000468

特征码分布示意图:
[MMM----------------------------------------------------]
[-------------------------------------------------------]
[-------------------------------------------------------]
[-------------------------------------------------------]
[-------------------------------------------------------]

其实MyCCL提供的报告已经比较详尽了,需要重点关注的就是“[特征] 00000000_ 00000468”这段报告信息。正如上面所标示的,从偏移地址为0x00000000的地方开始,其后面0x00000468偏移量的数据内含有特征码。

零基础的读者也许还不明白偏移地址是什么意思,这里先简单为大家介绍一下。就拿0x000000A0这个偏移地址来说,如果想知道它指定的偏移地址是什么数据的话,先用WinHex等十六进制查看工具打开这个文件,然后在这个工具中看看“日光海岸.mp3”这个文件的0x000000A0处是什么信息。

首先打开WinHex十六进制编辑工具,按【Ctrl+O】快捷键打开文件对话框,选择“日光海岸.mp3”,在Offset栏下的第11行就是我们的目的地,如图3-27所示。这个位置的内容是一个十六进制数据D3。

 

知道怎样寻找偏移地址后,那么找到刚才定位出来的特征码“[特征] 00000000_ 00000468”也就容易了。但是在这之前需要注意的是,MyCCL生成的报告有个缺陷,虽然前面的地址信息是十六进制的,但是后面的长度信息却是十进制的,所以在使用前要将其转换一下才行。

由此我们找到了特征码所在的位置,也就是如图3-28所示的地方。当然,一般情况下是不会出现这么长的特征码的,这里是为了便于各位读者理解,所以举了一个比较特殊的例子。

 

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:3.2.3 特征码混合定位原理
下一篇:3.4.1 MyCCL的典型应用
相关文章
图文推荐
排行
热门
最新书评
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站