首页
社区
课程
招聘
[旧帖] [原创]谈谈个人免杀技巧 0.00雪花
发表于: 2011-6-20 11:10 2520

[旧帖] [原创]谈谈个人免杀技巧 0.00雪花

2011-6-20 11:10
2520
大家好,我是AnZun

申请邀请码

治了近视3个月没上网了不知道拿什么原创。谈谈自己的免杀经验吧!

免杀与被杀一直是不灭的话题,随便说说我的免杀方法

网上和饭客的其他帖子已经说了很多了,我就不多说什么废话了。

在此说一点,我个人倾向于无损免杀,像那种直接NOP、00填充或者加一减一的大部分都是有损免杀,也许当时管用,换一个操作系统可能就不行了。

1.最常用的就是通用条转法了,不多说。

2.其次就是交换上下句,也不多说。

3.仔细琢磨特征码的附近语句,看看有什么是多余的,NOP掉,然后移动特征指令几个字节。

4.加花,配合跳转法,跳走之后来几个花指令再跳回来,对于高启发是有一定效果的。

5.特征是字符的可以修改大小写,或者移动到其他位置,然后修改调用原来字符的指令为新的字符的地址。还是杀的花就异或加密,异或加密的代码最后贴出。

6.最后就是自己发挥了,玩过编程的人做这些都很容易,一看就懂,数据的传递、堆栈、函数的调用等等随便修改,保持功能不变就可以了。

7.有一个免杀的误区大家要注意,在EXE中JMP=PUSH + RETN这样是对的,但是在DLL中就不可以了,否则还要重定位干什么,在DLL中变相的JMP就是【自定位】然后跳到【相对偏移】的xxx地址就可以了

代码段的免杀就是这些,至少是我常用的。下面来说说其他的数据免杀。

输入表免杀:

1.移动名称字符,修改指针。

2.与相邻的函数调换指针,然后在C32中调换名称字符。

3.动态填充函数地址,需要汇编基础了,代码我会在最后贴出来,处理之后用LOADPE删除该函数在输入表里的指针信息就可以了。

输出表:

1.移动函数名称字符并修改指针。

2.移动下输出函数的入口代码,别忘了加几个小花,然后异或加密输出表函数的名称字符,代码我会在最后贴出来。

附加数据:【配置信息】

还是异或加密,可以在文件入口解密,也可以用OD跟踪,在使用配置信息之前解密,这样最好。

其他的还没想起来,不知不觉都天亮了,呵呵,总之免杀中是指令代码的就跳转,加花,变异。是数据的就加密,要注意输入表字符是不能加密的。

下面就说说针对杀软的免杀:

卡巴:免杀到最后病毒名开头是HEUR的就应该是高启发了,加个签名就应该过了,不过的话带着签名继续定位。
卡巴主动:不要带SYS驱动,尽量不要自删除,不要注入进程等危险操作,应该就可以过了。

瑞星:特征或特征附近最多的就是TEST了,改AND就可以,字符修改大小写,注意不是所有字符都可以改大小写的。
瑞星内存:没啥说的,MYCCL内存定位,大部分是字符。
瑞星主动:废物一个,还是基于特征码的,用OD定位,是字符。

金山:主要杀鸽子的配置信息,在PE头的128字节处写90即可。遇到追杀的就是你添加新的区段的问题了,还有就是花指令不够强。

NOD32:说2种方法,加壳改壳,破坏输入表指针。

就说这几个,江民除了主动没啥特点,过江民的主动改一下释放路径即可,就不多说了,其他的杀软也没啥好说的,用我上面说的方法就可以。下面贴出来2个上面提到的代码。

1.异或加密代码
D01    pushad          寄存器入栈,在LordPE设置为新入口点
D02    call D03        调用下一行代码的VA,在OD中也可采用二进制编辑,输入E8 00000000
D03    pop ebx         出栈,ebx的值就是这一行代码的VA,也就是D03
D04    sub ebx,A1      A1是这样计算的,加密点起始的VA减去上面的D03,ebx的值就是加密点起始的VA
D05    xor ecx,ecx     清空ecx为下面循环解密xor的字节做准备
D06    mov ax,5D62     传5D62给ax做初始密匙用,可以修改的
D07    xor word ptr ds:[ebx+ecx*2],ax   对ebx+ecx*2处进行双字节解密
D08    inc ecx         ecx加1,加密了多少次
D10    cmp ecx,A2      此处的A2就是加密的代码的总长度除二,计算公式是:(最终VA-起始VA+1)/2 (十六进制)
D11    jl short D07    没有解密完就跳,继续解密
D12    popad           寄存器出栈,如果还要加密下一段,此处从D04开始继续。
D13    jmp到原入口点
加密的二进制代码如下:
60 E8 00 00 00 00 5B 81 EB 00 20 00 00 33 C9 66 B8 7D 4A 66 31 04 4B 41 81 F9 11 11 00 00 7C F3 61

2.隐藏输入表代码
004B702F    60              PUSHAD
004B7030    E8 00000000     CALL 08.004B7035
004B7035    5B              POP EBX //程序自定位
004B7036    8BEB            MOV EBP,EBX
004B7038    81C3 9F110000   ADD EBX,119F
004B703E    8BF3            MOV ESI,EBX  //计算出LoadLibraryA的地址放到ESI中
004B7040    8BDD            MOV EBX,EBP
004B7042    81C3 1F100000   ADD EBX,101F
004B7048    8BFB            MOV EDI,EBX  //计算出GetProAddress的地址放到EDI中
004B704A    8BDD            MOV EBX,EBP
004B704C    81C3 232B0000   ADD EBX,2B23
004B7052    53              PUSH EBX
004B7053    FF16            CALL ESI //调用LoadLibraryA
004B7055    50              PUSH EAX  //保存DLL句柄,多个相同库里的函数就不必再调用LoadLibraryA了
004B7056    8BDD            MOV EBX,EBP
004B7058    81C3 09330000   ADD EBX,3309
004B705E    53              PUSH EBX
004B705F    50              PUSH EAX
004B7060    FF17            CALL EDI //调用GetProAddress
004B7062    A3 04864B00     MOV DWORD PTR DS:[4B8604],EAX //填充函数地址
004B7067    58              POP EAX  //取出DLL句柄到EAX
004B7068    61              POPAD

最后希望大家多多进步,共同交流,共同进步

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (15)
雪    币: 111
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
这些貌似是在06 07年才用的吧
2011-6-20 11:44
0
雪    币: 291
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这个很难拿到邀请码吧?
这不是神马甲壳虫、饭客免杀论坛~
2011-6-20 11:44
0
雪    币: 3800
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
怎么不见有360的,现在要做免杀,也应该是针对360才对,360的误报大
2011-6-20 12:33
0
雪    币: 191
活跃值: (130)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
5
先不论内容
   能把自己的一些心得体会分享出来,我觉得态度还是非常值得称赞的,应该有机会的,加油
   另刚刚治好眼睛就这么折腾,可不是太好,身体才是本钱啊。
下面开始说内容
   我没玩过免杀,也是个新手,东西我都看了。
   LZ的内容主要谈的就是修改程序的特征,使杀软要疲于收集大量样本来更新特征库,以上的方法应该都有效,但是生命比较短暂。
   不过感觉行免杀为才是目前的难点。
另外
7.有一个免杀的误区大家要注意,在EXE中JMP=PUSH + RETN这样是对的,但是在DLL中就不可以了,否则还要重定位干什么,在DLL中变相的JMP就是【自定位】然后跳到【相对偏移】的xxx地址就可以了
  这句话实际操作确实没啥问题,不过我感觉有点怪怪的,具体下面
  exe,dll中重定位主要是处理加载不是默认基址(ImageBase)的情况,导致偏移存在偏差,exe也可以有重定位,只是exe默认基本都能加载到默认基址上,dll就有偶然性了。
2011-6-20 12:43
0
雪    币: 40
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
现在的杀软变化好快了   好多方法不管用了。
2011-6-21 12:42
0
雪    币: 206
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
老方法了,大部分失效了
2011-8-7 22:09
0
雪    币: 212
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
感谢楼主分享经验!!身体要紧,请注意爱护!另外,要申请邀请码的话,标题最好注明下哦!
2011-8-7 22:24
0
雪    币: 90
活跃值: (82)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
9
我的心得随便说说:

自我增肥术:避免上传
延迟病毒核心的运行:对付卡巴对病毒的模拟执行与跟踪。

PE头的修改。输入表之类等等。
2011-8-8 01:47
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
不知大家觉得通用免杀平台是否有可能开发出来?
我觉得好像不大现实
2011-8-8 08:12
0
雪    币: 92
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
回帖有钱没得啊
2011-8-9 11:13
0
雪    币: 32
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
貌似没有吧?
2011-8-9 11:33
0
雪    币: 39
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
这样能得到邀请码的话,很多人都可以了,现在得分都难啊!!
2011-8-9 12:41
0
雪    币: 9
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
我也是菜鸟,以下都是胡说,哈哈。
免杀靠的是方法,通用的方法肯定是有。
目前恶意软件的检测方法大概有三种:一、特征码;二、启发式查杀;其它(校验和等)
看你的免杀方法能否过掉杀软,主要的问题是你的方法是否能对抗已有的检测方法。

楼主给出的方法虽然陈旧了一些,不过总结的还是可以的,能针对个别杀毒软件,但做不到全免。
楼主的方法大部分建立在已知查杀点(比如:特征码、输入表、资源),目前的杀软太多了,光
www.virustotal.com上就有43个。

我还是推荐用无码免杀
2011-8-9 13:51
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
免杀可以吗 因为一直在更新啊
2011-8-10 10:06
0
雪    币: 793
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
其实楼主的方法还是有用的,手术刚完,总结的辛苦了!做免杀就是很无聊的事情,也没有一种免杀方法能过所有杀软。全在个人平时的做免杀过程的积累。
2011-8-10 11:09
0
游客
登录 | 注册 方可回帖
返回
//