夜晚是黑虫子的天下

木马免杀精装教程

上一篇 / 下一篇  2008-05-08 18:13:40

 
第一部分:对国内外杀毒软件分析

  在讲定位内存特征码前,先要分析国内外著名杀毒软件的内存查
杀特点。大家在使用木马过程都会发现,内存查杀,一般都指得被瑞

星的内存查杀。瑞星的内存查杀功能是同嗌倍救砑 凶钋康囊豢钌?br />
毒软件。像强悍的卡巴,金山,等等它们的内存查杀意义不大,会制作

免杀木马的人都知道,像这类杀毒软件,只要文件免杀,内存也就免杀了.

还有江民也有内存查杀功能,但内存查杀功能比较弱.只针对影响力非常

大的病毒程序.一般的黑客软件都没有提取内存特征码.


           第二部分:木马免杀的对策

 一. 要使一个木马免杀,首先要准备一个不加壳的木马,这点非常重要,否则下面的免杀操作就不能进行下去。

 二.然后我们要木马的内存免杀,从上面分析可以看出,目前的内存查杀,只有瑞星最强,其它杀毒软件内存查杀现在还不起作用所以我们只针对瑞星的内存查杀,要进行内存特征码的定位和修改,才能内存免杀。

 二.对符其它的杀毒软件,比如江民,金山,诺顿,卡巴.我们可以采用下面的方法,或这些方面的组合使用.

1>.入口点加1免杀法.

2>.变化入口地址免杀法
3>.加花指令法免杀法
4>.加壳或加伪装壳免杀法.
5>.打乱壳的头文件免杀法.
6>.修改文件特征码免杀法.

                        第三部分:免杀技术实例演示部分

一.入口点加1免杀法:

1.用到工具Editor

2.特点:非常简单实用,但有时还会被卡巴查杀.

3.操作要点:用PEditor打开无壳木马程序,把原入口点加1即可.

二.变化入口地址免杀法:

1.用到工具:OllyDbg,PEditor

2.特点:操作也比较容易,而且免杀效果比入口点加1点要佳.

3.操作要点:用OD载入无壳的木马程序,把入口点的前二句移到零区域去执行,然后又跳回到入口点的下面第三句继续执行.最后用PEditor把入口点改成零区域的地址.

三.加花指令法免杀法:

1.用到工具:OllyDbg,PEditor

2.特点:免杀通用性非常好,加了花指令后,就基本达到大量杀毒软件的免杀.

3.操作要点:用OD打开无壳的木马程序,找到零区域,把我们准备好的花指令填进去填好后又跳回到入口点,保存好后,再用PEditor把入口点改成零区域处填入花指令的着地址.

                        四.加壳或加伪装壳免杀法:

1.用到工具:一些冷门壳,或加伪装壳的工具,比如木马彩衣等.

2.特点:操作简单化,但免杀的时间不长,可能很快被杀,也很难躲过卡巴的追杀.

3.操作要点:为了达到更好的免杀效果可采用多重加壳,或加了壳后在加伪装壳的免杀效果更佳.

                            五.打乱壳的头文件或壳中加花免杀法:

1.用到工具:秘密行动 ,UPX加壳工具.

2.特点:操作也是傻瓜化,免杀效果也正当不错,特别对卡巴的免杀效果非常好.

3.操作要点:首先一定要把没加过壳的木马程序用UPX加层壳,然后用秘密行动这款工具中的SCramble功能进行把UPX壳的头文件打乱,从而达到免杀效果.

                                六.修改文件特征码免杀法:

1.用到工具:特征码定位器,OllyDbg

2.特点:操作较复杂,要定位修改一系列过程,而且只针对每种杀毒软件的免杀,要达到多种杀毒软件的免杀,必需修改各种杀毒软件的特征码.但免杀效果好.

3.操作要点:对某种杀毒软件的特征码的定位到修改一系列慢长过程.

                                第四部分:快速定位与修改瑞星内存特征码

一. 瑞星内存特征码特点:由于技术原因,目前瑞星的内存特征码在90%以上把字符串作为病毒特征码,这样对我们的定位和修改带来了方便.

二定位与修改要点:1>.首先用特征码定位器大致定位出瑞星内存特征码位置

2>.然后用UE打开,找到这个大致位置,看看,哪些方面对应的是字符串,用0替换后再用内存查杀进行查杀.直到找到内存特征码后,只要把字符串的大小写互换就能达到内存免杀效果.

                                第五部分:免杀方案实例演示部分

1.完全免杀方案一:

  内存特征码修改 + 加UPX壳 + 秘密行动工具打乱UPX壳的头文件.

2.完全免杀方案二:

  内存特征码修改 + 加压缩壳 + 加壳的伪装

3.完全免杀方案三:

  内存特征码修改 + 修改各种杀毒软件的文件特征码 + 加压缩壳

4.完全免杀方案四:

内存特征码修改 + 加花指令 + 加压壳

5.完全变态免杀方案五:

内存特征码修改 + 加花指令 + 入口点加1 + 加压缩壳UPX + 打乱壳的头文件

还有其它免杀方案可任意组合.达到更好的免杀效果


对于免杀的诠释和方法归纳
回忆VC对于免杀的诠释和方法归纳

首先我们要知道什么是免杀,免杀就是免除对杀毒软件的查杀。打个比喻就是当杀毒软件认识你了那你就被他杀了。那怎么来叫杀毒软件不认识你呢,也就是我们说的做免杀。

如何做免杀,我归纳为两个方面:戴面具和开刀

一:  戴面具:

就是在表面上迷惑杀毒软件(过文件查杀效果好),这样戴面具的实际操作就如加花、加壳、加密、改

入口点、去头加花、去头跳、乱跳等等。这样的戴面具方法过文件查杀本人感觉效果很好。在这里我也

给大家讲个我过卡巴得出的点点经验:比如这个比较老的花
木马彩衣(金色鱼锦衣)花代码
push ebp
mov ebp,esp
add esp,-0C
add esp,0C
mov eax,原入口
push eax
retn

我们发现如果直接加花的话卡巴可以轻松查杀 但如果我们在前面多加两个NOP的话会发现卡巴不杀了,

举一反三,在比较老的花前加两个NOP一般都可以过卡巴,当然具体情况也不一样。

2 开刀:

意思就是找特征码来改(过文件和内存都可以,但一般我们只用来过内存,因为过文件有比较方便的戴

面具法,下面主要讲的是内存特征码),大家对特征码应该不陌生,我在这里就做个比喻吧给大家加深

点印象。内存特征码好比是人身上的胎记,无论你戴了什么面具还是穿了什么衣服只要发现身上有同样

胎记的他就要杀。比如国内在内存查杀方面比较牛的瑞星内存查杀。他的内存特征码有很多套,所以大

家有时会觉得改起来很费时间和经历。但也是没办法的,人家不是吃素的,如果不花时间就过他的话他

也就没的混了。

在这里我主要讲的是假设我们已经定位好了几段内存特征码那改怎么改呢
方法我归纳为原地改和异地改,当然改特征码还是需要点汇编知识的。

原地改:  理论是3=1+2 ;同时3=2+1意思就是用相同的汇编语句来替换达到免杀的效果。假设我们定了

这段为特征码 0401234 add ecx,2 那我们怎么来改呢,我们发现这段代码的意思是寄存器+2 ,那我们

反过来想 +2不就等于-(-2)嘛,所以在这里我们把他改为sub ecx,-2  这样就可以了,一般都可以过

的。  还有就是改大小写,就是找到代码段,16进制看 比如代码段为 i like vc 就可以把他改为 I

LIKE VC 就OK了

有原地当然有异地,异地改:就是把定位那的代码 都NOP掉 然后找00段写上 JMP到新的地方 再跳回来

,意思就是 1+2=3  当然1+0+0+2+0=3  。呵呵 表达意思不是很好 但就是这个理 具体怎么改还是要自

己多研究,积累经验啊。



免杀技术探讨篇
免杀技术探讨篇
几个专业名词
壳:就是程序的保护层,原本用来加密PE程序文件防止破解,现在却被用于制作免杀
花代码(花指令):就是一段毫无意义的代码,也是乱码,它前后构成完全矛盾的意思,但是这样就能阻碍杀毒软件的查杀.
现金国内主要杀毒技术

特征码技术:运用程序中某一段或几段64字节以下的代码作为判别程序病毒的主要依据,几乎所有国内杀毒软件都在用.
复合特征码技术:下面给图, 因为本人艺术细胞原因 所以点到为止
abcd 所有都在的情况下, 木马可以被杀到 不管有几个a 或者几个b
虚拟机技术:卡巴运用的技术,它表现在穿壳能力的强大
行为查杀技术:根据某些病毒会在计算机里面的行为作为依据(如在注册表内增加什么键值),满足三个以上就视为木马或病毒.
启发式杀毒技术:运用病毒特有的结构,来检测病毒(如nod32)
² 国内外部分杀毒软件的特点:
  金山:超级垃圾的杀毒软件,花哨东西多得要死,实际杀毒功能却属于世界数一数二地弱,如果不想中木马,你最好别装.它甚至连木马也杀不清
  江民或KV:跟金山差不多,稍微比它好点,但是也比较垃圾,它的技术都是买来经过二次改造,没什么特色.
  瑞星:个人认为是国内是国内出的最强地杀毒,经过分析,它有三套毒库
瑞星的内存杀毒我们也搞不清楚内核机制,所以分析的只是现象:
1、普通的木马病毒(不常见的),瑞星不进行内存特征码定义,,
文件免杀了内存就免杀了
2、瑞星的右键快捷查杀和运行主程序查杀,效果不一样,右键不杀不代
表运行主程序不杀,有些内存杀的木马病毒,修改了运行主程序查杀的特
征码,内存就免杀了。网络泛滥的木马病毒(如鸽子,密码神通,广外幽灵等),瑞星进行内存特征码定义,通常是多区段特征码定义,其中有些用免杀壳加密加花后,OD载入不杀,但运行后被杀
这样看来感觉瑞星象是3套特征码定义,1是右键查杀,2是主程序运行查杀,
3是内存查杀,我是这样分类的
针对上述现象,瑞星内存免杀我们通常这样做,OD分段定位,先NOP入口点区段,仍被杀则NOP其他区段,直到不杀,找出内存特征码进行修改


说明:A B  C代表的是病毒特征码,括号()表示可能不存在

关于OD加载入内存不杀,运行后被内存查杀的问题:
OD加载的和真正的运行有区别,一些加壳的东西加了木马OD载入不杀内存,真正运行了就被杀,说明真正运行了内存中会还原某些代码,所以遇到加壳OD不杀,运行被杀的情况,平时我们遇到的木马,未加密加壳前在OD中是可以被杀和定位内存特征码的至于一种情况,如果木马未做任何处理的时候,就是一个原始木马,拿来OD载入不杀内存,运行了就杀,这种情况我没遇到过,如果你遇到了无壳的出现这种情况,基本上就是被一个内存免杀技术不过关的人修改过的,碰巧被你用了
如果你在免杀过程中遇到了OD载入不杀,运行内存被杀的情况,请尝试修改
特征码,而不是给它加花或加密,正确修改了内存特征码是可以完全内存免杀的
以上就是黑客小熊所分析的瑞星,瑞星不是用来实时监控,是用来手动查杀内存用的.
诺顿:它查杀的是PE文件头,就是那一串代码,有一个加壳程序可以把它打乱,高技术的甚至可以把它整个移走以免杀.
  卡巴斯基:国内外数一数二的杀毒软件,曾获世界第一的称号.它的优点就是穿壳能力墙(虚拟机技术),弱点是一见花指令就怕.免杀它一般是加花指令.
  NOD32:启发式杀毒技术,不再是单纯的特征码技术,就是运用一些木马程序特有的结构来判别是否木马,但是缺点是解密能力差,免杀它通常加一个壳再加一个花.
Ewido:一款非常不错的杀木马软件,它的内存查杀和瑞星一样变态,而且穿花能力强,比起国内木马克星来说它不知道好多少倍.而且他加入了注册表查杀,免杀它要先过内存再加茾

TAG: 木马 教程

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-05-17  
    123
45678910
11121314151617
18192021222324
25262728293031

我的存档

数据统计

  • 访问量: 271
  • 日志数: 22
  • 图片数: 1
  • 建立时间: 2008-05-06
  • 更新时间: 2008-05-09

RSS订阅

Open Toolbar