找回密码
 开放注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

搜索
查看: 690|回复: 3

免杀PCSHARE之过NOD32

[复制链接]

250

主题

601

回帖

1407

牛毛

二级牛人

积分
1407
发表于 2008-8-30 03:39:33 | 显示全部楼层 来自 河南省郑州市
正找这样的贴子呢,收下了

485

主题

3564

回帖

70

牛毛

初生牛犊

积分
70
发表于 2008-8-30 07:39:02 | 显示全部楼层 来自 辽宁省营口市
哈哈


不错,先使用你的方法好了

39

主题

187

回帖

304

牛毛

一级牛人

积分
304
QQ
发表于 2008-10-9 03:30:00 | 显示全部楼层 来自 福建省莆田市
暗组的 兄弟呵呵

242

主题

2213

回帖

3883

牛毛

版块主管

www.nb5.cn

积分
10239
 楼主| 发表于 2008-8-30 03:38:29 | 显示全部楼层 |阅读模式
大家好啊,今天又来了
上次给大家的是免杀PCSHARE过瑞星
让我跑了好几家网吧

可怜啊
今天我来到了这家网吧安装的是NOD32杀软
好了
进入主题吧
——PcShare VS NOD32

开题:NOD32探密
NOD32一直被做免杀的人视为神话,它的特征码几乎都是在输入表,而且如同长了眼睛一般,你把特征移到哪儿,它就跟到哪儿。自从我们暗组的朋友 huanjue2 提示大家使用MyCCL进行反向定位之后,NOD32的神话就被打破。今天我们来分析一下NOD32,揭开NOD32的神秘面纱。
教程所用到的工具:
C32Asm、Ollydbg、LordPE、MyCCL或multiCCL (这些东西不用我打包了吧?)



NOD32查杀的原理:
NOD32的高启查杀步骤:
1.查看文件类型(可以使用LordPE来查看)
2.查找文件输出表(有时文件没有输出表就跳到下面一步)如果存在文件输出表,查找特定的输出表函数名。
3.分析文件区段,通文件区段分析文件特定访问的输入表函数。


所以免杀NOD32的方法就是把以上3个步骤里,随便破坏一个就可以了。具体要破坏哪个步骤那就看你的灵活应用了。

下面我们就这个NOD32查杀原理来分析一下PcShare的三个文件

文件名: PcInit.exe
------------------------------------------------

先使用MyCCL来定位一下,我次把我定位操作演示一下,结果有些细节,你们还要注意一下,看好了。
开始位置设置为:400 ,正向改为反向。

特征码 物理地址/物理长度 如下:
[特征1] 000008B2_00000001004014B2KERNEL32.WriteFile
[特征2] 000008DE_00000001004014DEKERNEL32.WriteFile
[特征3] 00000A2E_000000010040162ESHLWAPI.StrToIntA
[特征4] 00000B32_0000000100401732KERNEL32.lstrcpyA
[特征5] 00000B42_0000000100401742SHLWAPI.StrStrA


[特征 1]
004008B2:FF15 60304000CALLNEAR [403060]
JMP 004008B8
跳到新地址:
jmp 00401B20

[特征 2]
004008DE:FF15 60304000CALLNEAR [403060]
JMP 004008E4
跳到新地址:
JMP 00401B2C

[特征 3]
00400A2E:FF15 E0304000CALLNEAR [4030E0]
JMP 00400A34
跳到新地址:
JMP 00401B38

[特征 4]
00400B32:FF15 44304000CALLNEAR [403044]
JMP 00400B38
跳到新地址:
JMP 00401B44

[特征 5]
00400B42:FF15 DC304000CALLNEAR [4030DC]
JMP 00400B48
跳到新地址:
JMP 00401B50

我们来分析一下为什么这么改:
(这也是前四个教程中大家有问为什么这么改呀,其实我在操作的过程和第四个教程的总结方法里都有提到,可能是由于语音教程再加上教程时间比较长,大家都是加速看的,所以没有听到我在教程里讲的一些话,所以请朋友自己再慢慢打开教程再看一遍。)

1.NOD32查了一下文件类型,为WINDOWS图形类,那么认定为可在WINDOWS操作系统下运行的,就接着判断文件输出表。
2.如果文件没有输出表。就去查找文件区段。
3.找到文件区段相应代码所要访问的输入表函数。
那么我们在第三步时,把CALLNEAR [403060]这个代码表来是指向KERNEL32.WriteFile这个函数的结果被我改为jmp 00401B20,那么NOD32就把它忽略了。

这里提一下,网上所流传一些免杀NOD32的误区:
1.加壳后再脱壳再重新建立输入表
这是以前的方法,却实管用,但现在已经不能使用了。我们来分析一下:加壳后,程序先运行的,是壳程序,所以程序运行的是壳的输入表,当然文件是过了,但是一运行就会被NOD32实时监控杀了。如果加壳后再脱壳再重新建立输入表,这样是破坏NOD32杀查的第2个步骤。但是有些文件脱壳后又重新建立输入表后,原来的代码调用得还是原来的输入表函数(比如:kernel32)那么就是会被NOD32查的。
2.移动文件的输入表函数
如果你移动了文件的输入表函数,还没用LordPE修复的,那么是可以过NOD32,这是因为原来的文件的函数表已经不存在了,当然是破坏了NOD32杀查的第3个步骤,但你一旦用LordPE修复后,不管你是把输入表函数从“文件的北极”移到“文件的南极”都是逃不过NOD32的追杀的。原因就是你修复之后,那第3个步骤也就修复好了。
4.在文件主函数为后面加一个空格
此方法就是破坏了NOD32杀查的第3个步骤,比如在kernel32.dll后面加一个空格,那么在
004008B2:FF15 60304000CALLNEAR [403060]
这行代码调用的函数为就被改为KERNEL32 .WriteFile(注意与原来的区别KERNEL32.WriteFile,有个很明显的空格)
这个方法也却实可以起到免杀NOD32的效果,但是有个很大的弊端,那就是机子一次只能运行一服务端,如果想再次运行服务端或是更新服务端,那么机子就要重启了才能再运行一次。
5.修改文件输入表函数的大小写
我不知道为什么网上居然,会有提出这样的方法,可能是受到免杀改瑞星内存字串的影响,在这里我告诉你这个方法是彻底行不通的。因为这些输入表函数都系统的API函数名,你改了,NOD32虽然不认识了,但系统也不认识了,所以你的服务端是根本就运行不了。

说到这里,大家对NOD32多少都有些了解了,如果想更加了解,那就你们多动手操作吧。

文件名: PcMain.DLL
------------------------------------------------
在了解了NOD32的查杀原理之后,我们先不急着去定位DLL文件的特征码,先用LordPE来查看一下DLL有什么特点。(这里提一下题外话,在第一期第3个教程免杀金山的同时,NOD32也不查杀了)
用LordPE来查发现DLL文件存在输出表,那么我们可以破坏NOD32杀查的第2个步骤,修改特定访问的输入表函数名。

方法:把ServiceMain输出表函数往后移二位,并用LordPE修复。

文件名cHide.sys
------------------------------------------------
SYS文件是驱动文件,非常得不好改,我要试很多次修改代码之后,都是以失败告终,(所以说台上1分钟,台下十年功,你们能成功分享我的免杀果实是在我无数次的失败,无数次让我的虚似机崩溃的基础上。)
之前我一直以NOD32的查杀方法只有步骤2和3,但是在后面免杀小红伞时又发现的这个步骤1。所以在我无次数的失败之后,又找出了,NOD32的查杀方法步骤1,那么我们通过修改文件类型来起到免杀NOD32。
方法:用LordPE打开,修改文件的类型为“未知”。

同时告诉大家,SYS文件还有其他的方法,就是破坏步骤3,这个方法先不公布出来,主要为了防止某杀软来利用我的分析结果来设置特征码
您需要登录后才可以回帖 登录 | 开放注册

本版积分规则

帮助|Archiver|小黑屋|通信管理局专项备案号:[2008]238号|NB5社区 ( 皖ICP备08004151号;皖公网安备34010402700514号 )

GMT+8, 2025-1-16 01:43 , Processed in 0.135967 second(s), 32 queries , Yac On.

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表