|
楼主 |
发表于 2008-11-9 16:51:57
|
显示全部楼层
|阅读模式
来自 宁夏银川市
看见不少朋友对MYCCL这款特征码定位器不会使用,所以今天就给大家做一下这方面
的教程。
以前我们定位特征码都是应用CCL这款软件,对于特征码免杀来说确实很方便,但是随着杀毒软件的技术更新,我们所生成木马的特征码不再是单一的,而是多区多段,比如以前我们用OD可以一半一半法定位特征码,但是现在,你把所有区段都NOP了,也是查不出来特征码的,为什么呢?因为现在的杀毒软件都是把文件特征码和内存特征码混在一起,并且设定的特征码位置比以前多了很多,并不象以前只是把特征码定位在CODE里而且只有一个。例如:
PE文件 节表信息这个是黑防灰鸽子的客户端共有8个区段
文件名:D:\\Documents and Settings\\Administrator.BPLG\\桌面\\MYCLL(定位内存组合包)\\Server.exe
------------------------------------------------
节名称起始位置物理长度
CODE000****0000A1200以前特征码多数在这个区段,并且只有一个
DATA 000A1600 00***02C00现在的特征码有很多处。
BSS 000A4200 000****0000
.idata 000A4200 000****3400
.tls 000A7600 000****0000
rdata 000A7600 000****0200
.reloc 000A7800 0000A400
.rsrc 000B1C00 000****8200
首先,我们要知道现在的杀软,以瑞星查杀内存是最厉害的,瑞星内存免杀能过的话,其他大多数杀毒软件的内存都基本能过的。所以今天我们就以瑞星杀软,对MYCCL进行讲解。修改特征代码免杀一般分为文件和内存二种,我们要先查找文件特征码进行免杀(表面免杀),然后才可以查找内存特征代码进行免杀。有的朋友错误的认为,给木马加壳、加花、加密,这样文件(表面)免杀了,然后再用这个查找内存特征码,这样理解是错误的。
现在我们开始进行黑防灰鸽子的文件特征码定位查找:
首先我们要生成一个无壳的鸽子客户端,我已经生成好了。
打开MYCCL复合特征码定位器软件,把我们要查找的鸽子打开,带后缀不要选(这个在查找内存特征码时在选上)。目录,我在桌面已经建一个了,大家可以随便建一个。分块个数设置在50—100之间。单位长度和填充我们默认不写;开始位置我们写这里的:
区段开始位置分段长度
CODE000****0000A12***95%的特征码都是在这个区段里
正向(反向)都可以,无所谓。结束位置是自动的,我们不用管它。选复合定位,因为特征码不是一个,会有很多个,所以选复合定位。开始点生成。2次处理前,我们对生成的文件用瑞星进行查杀并删除。我们继续2次处理,用瑞星杀毒删除,直到查不出为止。
特征码 物理地址/物理长度 如下:
[特征] 00***92E3D_00***01DB3
[特征] 00***69A3_00***01DB3
[特征] 0009C2BC_000****5919
这里一共有3大段,我们看其中一个, 00***92E3D这个是特征代码;00***01DB3这个是此特征代码的偏移量,偏移量太大了,怎么办?我们继续。使它更精确一些。
选其中一个,复合定位此区间,它默认的分块个数太大,我们重新设置分块,我们设置100,重复上面的步骤。
刚才的偏移量由00***01DB3缩小到00***04C。但是它还是比较大,我们继续对它进行缩小定位,步骤和上面一样。我们看单位长度已经在2了,所以我们就不用进行分块设置了,这里大家也看到了,分块越大,单位长度越小,但是分块越多,我们生成的文件数也越多,生成的文件数太多的话,我们的电脑会受不了的 呵呵。我们所要的精确定位就是偏移量在2或4,太大我们无法进行特征码的修改,下面我们继续把其他大的偏移量缩小,步骤是一样的。
[特征] 00***69A3_00***01DB3
[特征] 0009C2BC_000****5919 这二个是大的偏移量,你们应该知道怎么精确的去定位了吧。
还有 要说明的是我们的分块个数是怎么设置的,大的文件(比如鸽子700多k)一般设置在100—200之间,小的文件分块个数设置在100以内就可以了,二次处理的时候会出现分块个数是100多点(比如114),单位长度是2,这样我们就不需要在改回分块个数是100了,因为单位长度2或者是4,正好是我们所需要的大小。
这是我定位好的了,一共有9处:
特征码 物理地址/物理长度 如下:
[特征] 00***49A7_000****0002
[特征] 00***94B3D_000****0002
[特征] 00***73E9_000****0002
[特征] 0009CBBC_000****0002
[特征] 0009F5A6_000****0002
[特征] 000A0A46_000****0002
[特征] 000A0DD2_000****0002
[特征] 000A1250_000****0002
[特征] 000A12A2_000****0002
我们测试一下,看看是否正确。用WinHex进行修改,也可以用UltraEdit或者C32Asm都可以。我们找到特征码所在的位置,偏移量是2个字节,我们用0填充,为了节余时间,其他的你们填充吧。看到了,修改正确。 |
|