标题:
免杀方式 新生看看
[打印本页]
作者:
qaz5236236
时间:
2010-6-24 00:21
标题:
免杀方式 新生看看
这三种是目前杀毒软件常用的杀毒模式。
1.文件查杀
杀毒软件对磁盘中的文件进行静态扫描,一旦发现文件带有病毒库中的病毒特征代码就给予查杀。(黑洞2005 服务端VS 卡巴做演示)
2.内存查杀
杀毒软件把病毒特征代码释放到内存中,然后与内存中的文件进行比对,发现有文件中带有病毒特征代码就给予查杀。(灰鸽子2005服务端 VS 瑞星做演示)
3.行为杀毒
杀毒软件用木马运行后的一些特定的行为作为判断是否为木马的依据。比如:啊拉QQ大盗在运行后会增加一个名为NTdhcp.EⅩE的进程,还有彩虹桥的服务端在运行后会在注册表添加名为HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\{9B71D88C-C598-4935-C5D1-43AA4DB90836}\stubpath的键值。
[名词解释]病毒特征代码:杀毒软件截获到一个木马后,将会提取木马中比较关键的一段代码作为辨认这个木马的特征代码,在杀毒过程中把它拿出来和磁盘中的文件做比对。就和我们辨认人一样,一看到一个人就把他的相貌特征记下来,比如:大眼睛啊、瓜子脸啊,在下次见到他的时候一眼就可以认出来。
二 、木马免杀技术大盘点
下面分析一下目前木马躲杀几种手段,主要针对文件查杀和内存查杀!
1.加壳免杀
大家应该都会,建议你选择一些生僻壳、强壳、新壳,或者加多重壳。
2.修改壳程序免杀
主要有两种:一是通过加花指令的方法把壳伪装成其它壳或者无壳程序。二是通过reloc类软件修改壳的区段入口点。
3.修改文件特征代码免杀
此方法的针对性是非常强的,就是说一般情况下你是修改的什么杀毒软件的特征代码,那么就只可以在这种杀毒软件下免杀。主要方法是:直接修改法 和 跳转修改法。其中跳转修改法可以用一些软件来做到,比如:vmprotect ,我给用工具实现跳转修改法,取了一个新名字叫:加密修改法。
4.加花指令免杀
此方法通用性强,而且效果好。主要有两种:加区加花和去头加花。
5.修改内存特征代码
目前内存杀毒的杀毒软件强的并不多。修改内存特征代码对于初学免杀的朋友来说,难点应该是在内存特征代码定位上。至于内存特征代码的修改其实和文件特征代码的修改是一样的为:跳转修改法和直接修改法。但是为了避免出错,建议大家尽量只使用直接修改法。
6. 阻止杀毒软件扫描内存
只是一个思路,可能要编程来实现。听说有的壳程序可以做到,但是本人还没有测试和验证。
三、杀毒软件的设置
做免杀需要把做出来的免杀木马在多种杀毒软件下测试,看看是否已经免杀。另外我们在定位病毒特征代码的时候也需要杀毒软件,所以计算机上安装多种杀毒软件是必然的。
但是一般安装两种或者两种以上的杀毒软件在计算机上它们就会冲突,轻则计算机运行变慢,重则死机。
下面我就教大家来设置杀毒软件,实现一台计算机安装多个杀毒软件。
第一、关闭自动更新病毒库
第二、关闭定时扫描
第三、关闭实时监控
第四、删除杀毒软件写在注册表的开机自动运行项目
第五、把计算机服务中杀毒软件添加的服务自动的改为手动。
-------------------------------------------------------------------------------------------------------------------------------------
免杀的原理大全一、工具
mycll:特征码定位
PEID:查壳工具
PEditor: 入口点修改工具 加花
c32asm
ollybg
oc:文件地址到内存地址 的换算
resscope:资源编辑
zeroadd:加区段的
木马采衣:加花
maskpe,vmprotect:加密
upx,aspack北斗壳:压缩
免疫007:免疫器
二、效果分析
1、加密:vmprotectv1.21和 MASKPE2.0(对瑞星有特效),比较容易过瑞星表面,不能过卡巴
压缩:北斗,UPX:主要是减少体积
加花:对卡巴有特效,通用性比较好
2、北斗+VMpro,但是北斗+maskpe 出错!无壳木马可以先加花
3、无壳木马直接用maskPE22.0可过瑞星表面但是过不了卡巴。
4、无壳木马加一道花指令后再用VMPRO1.21加密可直接过卡巴但是可能无法过瑞星表面
5、经过免杀处理,过几种杀毒软件,加压缩壳后仍免杀过他们,但是北斗除外,先杀处理国卡巴的木马北斗后可能被卡巴杀
6、测试操作
1)手工加花+掘北压缩,鸽子
先脱壳,在用OD在零区域添加指令(根据字节编写):先找原入口点,零区域,记录其地址(新入口点),指令push eax pop eax add esp 1 inc esp push 004A1E48 retn 保存。用PE修改入口点。能过卡巴,过不了瑞星。用掘北(对瑞星表面有特效)
2)工具加花(花蝴蝶三号)+VMPRO+UPX 。**器
三、手工加花方法
1、直接:OD,记录入口点;找零区域,复制地址(新入口);写指令:push 0 nop add esp 2 inc esp inc esp push exp pop esp push 原入口点 retn 改入口点(新)(lordpe);可以把这段代码保存为二进制以后方便用。
2、去头:复制头,并去掉,填加到空白区域(新地址);再填加花指令。
3、加区:zeroadd加区段,大小一般100左右;OD打开文件,用ALT+M打开内存景象,复制区段入口地址和原程序入口,到区段加花,程序入口地址不变;lordpe修改入口为区段的入口。
4、壳中:UPX压缩;OD打开,记录壳的入口(即原入口);记录零区域地址(新入口)加花(有的壳不能写入,或保存后不能运行);LORDPE改入口。
5、壳中加区:UPX;zeroadd加区;OD,记录壳后入口,ALT+M记录区段入口,在区段里加花; 改地址。
四、编写花指令
1、相关汇编(王**汇编64讲,汇编指令查询器)
2、花指令变形修改(用花蝴蝶三号给程序加花,OD打开)
1)替换法:把mov eax 程序.地址 jmp eax改为 push 地址 retn
2)添加法:在花指令的上面把nop换成 push eax pop eax
3)移位法:在花指令里把 push eax move **xx **x pop eax换成pop eax move **xx **x push eax
4)去除法:在花指令里把 push eax move **xx **x pop eax换成nop move **xx **x nop
5)以上4种方法可综合利用
3、编写技巧:
入口地址最好是: push 地址 retn的形式或 jb 入口地址 jnb 入口地址或 mov eax 入口地址 jmp eax ,而不是 jmp 入口地址,因为容易被卡巴查杀。
五、myccl地位原理与使用介绍
1、基本原则:开始位置为代码段的其实地址,风乱长度为物理长度,定位一般选复合定位,正向之程序从上到下恢复,定位内存特征码的时候用到后缀。对体积比较大(1000 5000K)的程序分块个数可少点,第一次一般10快,定位大致位置后可分非50 100块(建议不超过200);体积比较小的程序分块可大点,定位的时间就少。
2、定位黑防鸽子的瑞星文件特征码:用myccl检测出来以后要用C32打开文件把检测出来的数据段填0后用瑞星检测。
3、定位鸽子的瑞星内存特征码:要在上步以后用。
1)TK.loader和myccl放在同一目录,tk.loader用来加载木马到内存。myccl参数与上同,另外加上后缀。
2)点生成,在目录路径上右键用TK.loader带开目录,全部载入内存,用瑞星杀。
3)记录被杀文件名,手工删除。重复上步。
4)定位好以后,用C32ASM打开已免杀的程序,把定位好的内存特征码全部填0,用OD载入,用瑞星查,测试定位是否正确。
4、技巧总结:muccl定位文件特征码效率不错,但是定位内存特征码相对比较慢,而有时候对dll文件内存定位不理想,这时候可以用OD手工定位。
六、免杀工具的组合运用
1、工具回顾:加压缩壳一减少体积为住,部分可过瑞星表面;加密与其他方法组合使用效果较好,一般可过瑞星表面;加花免杀卡巴效果好多,对不常见的黑软这中方法的马杀通用性比较好。
2、工具组合要领:可以对无壳程序直接加密也可在无壳木马加花后再加密;一般在其他免杀工作做好以后加压缩壳;加花可以对无壳,加密后的和加壳的软件做。
3、实例
1)、超级加花器V1.0(最后一个选项)+VMPRITECT V1.21
2)、maskPE2.0 + upx + 加区加花:mask选import;花指令为 push ebx pop ebx push ebx pop ebx inc ecx dec ecx jb 原入口 jnb 原入口 , lordpe改入口
3)、maskPE2.0加密(鸽子):找零区域(00482274即新入口),写入jmp 原入口 ;用lordpe改入口;加密(import).
4、工具组合经验:找特效工具组合,如maskpe 对瑞星表面,加花对卡巴,加掘北也对瑞星比较好 (加花后不能用maskpe)。黑防鸽子棉纱花指令后再用MASKPE,将不能正确运行,但是可直接向上找5字节零区域直接写jimp入口地址,然后改入口,再用mask加密,就可运行 并免杀。
七、PE头反调试
PE头的修改步骤:用C32ASM打开目标,计算PE header的大小(“?”)记录PE头开始地址,把计算出大小的区块向上复制,则PE头增大,将其HEX大小写入(”?“),修改PE头的开始地址。
八、免杀新技术(改壳免杀法)
1、改壳特征码:研究的人少,特征码单一,不脱壳做免杀方便简单,对于放DLL文件类型的木马一定要先脱壳,到处DLL文件分别做免杀。
2、步骤:用myccl定位加壳软件,用偏移量转换器OC查看特征码地址的内存地址,用跳转法修改。
3、技巧:用UPX压缩过的木马程序,有两处跳转都是卡巴的特征码,只要修改任一出都可达到免杀,第一处是离入口点的一处JMP跳转,第二出是最末尾的一处JMP,所一可以直接找到用UPX压缩过的任何木马,可以不用定位。木马复杂的特征码修改经过UPX压缩后就变的简单化。
写花指令的时候找一些比较小的零区域,用一句话花指令等方法,效果不错,这些区域一般写入花指令用 maskpe加密以后程序就回出错,但是用一句话花指令或去头免杀法,然后在用 maskpe 加密,程序不会出错(黑防鸽子的实验结论)。
4、UPX壳的几种免杀方法。卡巴查到鸽子的一个固定地址是一个固定跳转时,就认为是木马。若跳转下面有空为则可用:替换,移位(把”特征代码下移),变换修改,修改头法(把头转移到空白区域再跳到第二句,修改入口),加壳加花。
5、北斗壳的几种免杀。北斗兼容性好,压缩率高,但是有些本来免杀的软件,被北斗压缩后可能被卡巴查杀。写花指令(免卡巴),用VMPROTECT加密可过瑞星表面。polycryptpe也能免杀瑞星表面,007加密可阻止瑞星内存扫描。
6、很多查毒软件只查壳的头几句代码,可将起NOP掉测试,并利用空白区域做免杀;杀毒软件不太注意壳的特征码,所以壳的病毒特征码是单一的,可以很方便的定位和修改。
九、黑防鸽子全免杀:思路是先免杀木马本身(改特征码,加花),然后用工具加密或加压(一般是压缩),最后对壳进行免杀(改壳特征码,加花)。
1、木马本身免杀:修改瑞星内存特征码,手工加花免杀卡巴江民
2、对瑞星表面查杀有特效的压缩壳:撅北压缩
---------------------------------------------------------------------------------------------------------------------
一、定位
第一点当然是定位的问题了。这个以前还好些现在比较麻烦了,为什么这么说呢,各位免杀爱好者们都知道有时候会出现分多少杀多少,或者循环递减或者修改了还杀。这些都是定位的问题了。
首先定位要了解每款定位工具的定位原理,这个我这里就不多说了。其次要掌握些使用的小技巧,比喻用MYCCL来定位的时候定位反向和正向的不同,还有填充的数值不要老是用00填充,特别是卡巴,很容易出现循环递减或者分多少杀多少。还有multiCCL保护定位,multiCCL是一款十分不错的定位工具,特别是自动定位我最爱了~~呵呵。要善于利用保护定位会给我们减少很多的麻烦。特别是什么杀输入表移动了还杀,最好用保护定位试试,也许可以定位出来别的特征码的哦~
二、特征码的修改
我们定位好了特征码当然再接着就是修改了啊,修改的方法很多了,我这理就不多说了,但是我有一点个人的见解,不要看到特征码就用加1减1还有的小菜们直接NOP掉或者填0然后问为什么我免杀后不能运行了呢?想想也知道啊,那些十六进制数都是对应的程序的代码的,随便修改当然不行了。我建议还是多看看汇编的基础,要了解要修改的特征码在程序中的作用,我们免杀不是让程序无法运行,那样做免杀就没有意义了。在修改特征码中最让我着迷的还是等价替换,把特征码修改成相同作用的特征码这个就是考验一个免杀者的技巧的时候了。还有万能的跳转也是需要多了解的,不过现在可以使用的跳转不单单是以往的JMP跳转了,要是空白空间够用还可以用PUSH、CALL不过这些还是有局限的。
上回说到了通用跳转以及一些变异。就这个问题现在还来补充点,在用跳转的时候也要看下程序的结构以及上下的语句,有时候不能单独的调走一条两条的特征码,要整段跳走,这是为什么呢?原因就在于特征码所在的是段子程序,你单独跳走其中的一句可能会导致无法正常运行是因为跳回的代码可能无法正确指向。来个简单的例子吧。
我标记的位置就是特征码了,修改的方法多的很,我教程(PC手工特征码过瑞星)里面也又提到的,可以直接NOP掉,因为上面的XOR EAX,EAX已经把EAX给清0了,所以下面的那个XOR就是废话了。也可以改JE是改成JMP还是NOP掉就要测试了。但是这里我们为了方便解说我上面的跳转法,我们可以这样再特征码向上找,来到 PUSH ebp 就可以发现这个位置来源于
现在我们来修改,直接找个空白的位置把10010F20开始的一段全部写到空白的地方,再把100114AE的CALL的地址改成空白的位置,最后把先前的10010F20全部NOP 掉。
跳转说完了,我们再来看下上下互换吧,先看看最简单的
这三句都是PUSH,一般的都可以替换位置的,我习惯在C32下面直接改16进制,那样快直接改成 53 57 56 就可以了就是改成了 PUSH EBX PUSH EDI PUSH ESI。这些简单的互换,新手朋友一定要十分熟练的。
再来就是比较复杂一点的互换了。互换程序代码段,这个还是要有一定的汇编基础的,要看懂程序的上下代码才能换的。还有就是两个子程序的互换了,位置换好后一定要修改对应的CALL、PUSH等调用的地方,要不然会出错的。
代码等价替换,这里面的学问也是很高深的,也就是所谓的神来之笔了。改动最少的代码来让杀毒SB,简单点的一些PUSH 换成POP ADD和SUB的互换 JE和JNE等等的转换,还有瑞星最爱定位的TEST上面,直接把TEST 换成ADD直接就让瑞星SB了。呵呵,还有上面的那个例子中的XOR直接给NOP 一个就OK了,比跳转来的简单的多了。记得我PC的那个教程里面也又这方面的一些内容PUSH 0 PUSH 0 PUSH 4我们可以改成PUSH 8 PUSH -4 PUSH 0。这些都是一些免杀者总结出来的东西都是精华啦,要好好看看,研究原理,只有知道原理了才用一通百通,活学活用。
关于字符串的免杀,这个也就是最开始我们接触免杀时候的特征码了。我们可以改大小写,还可以移位,有的一说的是DLL的字符串移位被追杀,需要移动位置大点,但是却导致无法正常运行了,这就要用内存动态恢复,这个网上都有教程的,我这干说也说不清楚的。要是偷懒也可以啊直接自己添加个区段,把被追杀的字符串移进去就可以了,一般都不会追到的。有的时候我们也可以直接把字符串给换成别的,像我PC教程里面的什么警告换成什么错误换成什么等等,就不信玩不死杀软。
关于输入表的免杀,个人觉得在开始做免杀之前就重建下输入表,用手工比较麻烦也比较繁琐,所以还是推荐下用工具吧。就我教程里面提到的那款IAT重建就不错的,在我空间里面也有下载的。具体使用方法我教程里面也有,有的朋友说为什么有时候会程序报错,我看了下主要是添加的区段小了,所以重建前先看下输入表的大小再重建。最重要的当然是重建好了要把原先的输入表全部给NOP掉或者填0在要不是就随便写些什么上去,看个人的喜好了。一般要是这样重建后还能追杀到输入表(NOD32除外,下面我会说到的),那就需要你反向定位了,因为这样还能追杀光重建是没有什么作用的。当然了一般的情况下移动下位置就可以达到免杀的,要是不想重建也可以把被追杀的移动到新的区段中试试。最后还有一个偏方就是所谓的删除,直接填充掉追杀的函数,但是那要看下那个函数的作用了。填充后要用LordPE把哪里给删了。要不会提示错误找不到函数的。当然了这种方法我是不推荐的。
对于输出表的免杀一般也就是重建、移位、加密了。但是加密的局限性很大的,想了解网上也是有很多的方法的,可以看看。推荐大家去爱国者上面找下《结合PE结构免杀输出表》(好像是这个名字,记得不大清楚了)看看,那个讲得比较详细。或许看后对大家也有一定的启发。
三、对于各款杀软的些分析(个人看法)
首先说下瑞星吧,感觉瑞星是个跟屁虫(希望瑞星的粉丝不要骂我)别人NOD32追杀它也去学着追杀,别人搞主动防御它也来哎,唯一拿得出手的的就是内存杀毒了,但是我怎么感觉现在瑞星好像没有怎么增加内存特征码了,可能是我见识少了吧。瑞星一半喜欢定位到的地方就是JE/JNE上面,一般向上看下上面一般都是XOR、CMP、TEST这类的些,修改起来也是很简单的,XOR可以换成OR也可以NOP掉,这个还是需要测试的,CMP也是同XOR一样的修改,而TEST是最好修改的了直接改成ADD,百试不爽啊。
卡巴呢,特别是卡巴2009了就是卡巴8。高启发是有点**了,有时候也是让人没有办法,最少目前是这样的,就像我做黑防鸽子就是过不了卡巴的高启……也希望能人能够放出方法来帮帮我们这些菜鸟朋友了。一般修改卡巴的特征码的时候要是遇到不怎么好改的可以改上面一些的,,毕竟卡巴还是花痴哈^-^该特征码上面一点的也是起到了个加花的作用。卡巴8的虚拟运行是个高技术了,所以现在加壳过卡巴是有些困难的,但也是可以过的修改下壳子就OK了,这个网上的教程方法也不少了,我就不多献丑了。
NOD32这个在以前是个超级大难题但是从反向定位开始,NOD32的神话也被我们菜鸟们所打破了,一般NOD32的特征码都会很多的,这个是无需置疑的……。特征码一般都是定位到调用输入表的CALL或者JMP、MOV、PUSH这类的上面,这就是为什么重建输入表会追杀的原因了,你再怎么重建要调用还是会追杀到你的,正是千里追杀啊 杀啊 杀啊……扯远了。修改NOD32的特征码的时候直接把调用的指令跳走就OK了。
--------------------------------------------------------------------------------------------------------------------------
菜鸟宝典之木马免杀办法
此文章适合初学者,更好的了解木马,学习安全基础知识。
病毒,木马免杀,顾名思义 ,就是不能被杀毒软件侦测到,卡擦掉,这里面的技术,有简单的,有高深的,今天我就自己所了解到的一些小伎俩自己在这里留个记号,方便自己以后进步对比,也与大家共享我所学到的一些东西。
现在我就给大家讲讲做免杀需要的一些的东西,由于不同的制作方法有不同的步骤,所以我写的东西,都是自己想到哪里写到哪儿。
材料:巧妇难为无米之炊,我们首先需要一个加工对象,用不同的方法,最终得到免杀的结果。材料要个干净,没加工过的原材料,没加壳的木马,也就是裸马,不是罗马哦,呵呵,这个要是不裸,后面的工作我们是进行不下去的。自己有能力,写一个自己用最好。
工具步骤带在一起 了,本人太菜了,还卖乖,呵呵。别笑话啊。
做免杀,是要在杀毒软件前面刀枪不入,我们这里就要晓得杀毒软件的杀毒原理,
木马的工作原理,这个都还在不断的学习之中,最终要达到自己写专杀工具,木马的境界,慢慢来。
江民,金山,诺顿,卡巴,瑞星,听说瑞新的内存查杀功能最好,都是听说,自己动手试验最好。文件查杀都差不多,查杀都是扫描特征码,内存,文件扫描, 要免杀,就是要修改特征码,要修改 ,就要找到特征码,找到特征码的方法都是用工具自动改码,在用杀毒软件筛选?更好的方法是什么?这都要对原理熟悉,唉,都怪自己知识浅薄。
现在网上做免杀,大部分都是工具,自己不懂反汇编都,随便挑几个工具都可以做出免杀,这大概也是为什么现在病毒木马这么猖狂的原因吧 ,
网上流传方法:
1.入口点加1免杀法.用PEditor打开无壳木马程序,把原入口点加1即可,有时还是会被杀。
2.变化入口地址免杀法 (OllyDbg,PEditor)
用OD载入无壳的木马程序,把入口点的前二句移到零区域去执行,然后又跳回到入口点的,下面第三句继续执行.最后用PEditor把入口点改成零区域的地址.免杀效果还可以。
3.加花指令法免杀 (OllyDbg,PEditor)
免杀通用性好,插花指令,可以达到大部分的免杀 ,用OD打开无壳的木马程序,找到零区域,把我们准备好的花指令填进去填好后又跳回到入口点,保存好后,再用PEditor把入口点改成零区域处填入花指令的着地址
4.加壳或加伪装壳免杀法.用冷门客 ,主要是不常见,这个不怎么用,意义不大。自己愿意多穿几件衣服,呵呵,包好。还可加壳了再加伪装壳,重复都行,只要你喜欢,但最多能穿多少衣服?不晓得有没有**?
一 、杀毒软件的查杀模式
这三种是目前杀毒软件常用的杀毒模式。
1.文件查杀
杀毒软件对磁盘中的文件进行静态扫描,一旦发现文件带有病毒库中的病毒特征代码就给予查杀。(黑洞2005 服务端VS 卡巴做演示)
2.内存查杀
杀毒软件把病毒特征代码释放到内存中,然后与内存中的文件进行比对,发现有文件中带有病毒特征代码就给予查杀。(灰鸽子2005服务端 VS 瑞星做演示)
3.行为杀毒
杀毒软件用木马运行后的一些特定的行为作为判断是否为木马的依据。比如:啊拉QQ大盗在运行后会增加一个名为NTdhcp.EⅩE的进程,还有彩虹桥的服务端在运行后会在注册表添加名为HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\{9B71D88C-C598-4935-C5D1-43AA4DB90836}\stubpath的键值。
[名词解释]病毒特征代码:杀毒软件截获到一个木马后,将会提取木马中比较关键的一段代码作为辨认这个木马的特征代码,在杀毒过程中把它拿出来和磁盘中的文件做比对。就和我们辨认人一样,一看到一个人就把他的相貌特征记下来,比如:大眼睛啊、瓜子脸啊,在下次见到他的时候一眼就可以认出来。
二 、木马免杀技术大盘点
下面分析一下目前木马躲杀几种手段,主要针对文件查杀和内存查杀!
1.加壳免杀
大家应该都会,建议你选择一些生僻壳、强壳、新壳,或者加多重壳。
2.修改壳程序免杀
主要有两种:一是通过加花指令的方法把壳伪装成其它壳或者无壳程序。二是通过reloc类软件修改壳的区段入口点。
3.修改文件特征代码免杀
此方法的针对性是非常强的,就是说一般情况下你是修改的什么杀毒软件的特征代码,那么就只可以在这种杀毒软件下免杀。主要方法是:直接修改法 和 跳转修改法。其中跳转修改法可以用一些软件来做到,比如:vmprotect ,我给用工具实现跳转修改法,取了一个新名字叫:加密修改法。
4.加花指令免杀
此方法通用性强,而且效果好。主要有两种:加区加花和去头加花。
5.修改内存特征代码
目前内存杀毒的杀毒软件强的并不多。修改内存特征代码对于初学免杀的朋友来说,难点应该是在内存特征代码定位上。至于内存特征代码的修改其实和文件特征代码的修改是一样的为:跳转修改法和直接修改法。但是为了避免出错,建议大家尽量只使用直接修改法。
6. 阻止杀毒软件扫描内存
只是一个思路,可能要编程来实现。听说有的壳程序可以做到,但是本人还没有测试和验证。
三、杀毒软件的设置
做免杀需要把做出来的免杀木马在多种杀毒软件下测试,看看是否已经免杀。另外我们在定位病毒特征代码的时候也需要杀毒软件,所以计算机上安装多种杀毒软件是必然的。
但是一般安装两种或者两种以上的杀毒软件在计算机上它们就会冲突,轻则计算机运行变慢,重则死机。
下面我就教大家来设置杀毒软件,实现一台计算机安装多个杀毒软件。
第一、关闭自动更新病毒库
第二、关闭定时扫描
第三、关闭实时监控
第四、删除杀毒软件写在注册表的开机自动运行项目
第五、把计算机服务中杀毒软件添加的服务自动的改为手动。
-------------------------------------------------------------------------------------------------------------------------------------
免杀的原理大全一、工具
mycll:特征码定位
PEID:查壳工具
PEditor: 入口点修改工具 加花
c32asm
ollybg
oc:文件地址到内存地址 的换算
resscope:资源编辑
zeroadd:加区段的
木马采衣:加花
maskpe,vmprotect:加密
upx,aspack北斗壳:压缩
免疫007:免疫器
二、效果分析
1、加密:vmprotectv1.21和 MASKPE2.0(对瑞星有特效),比较容易过瑞星表面,不能过卡巴
压缩:北斗,UPX:主要是减少体积
加花:对卡巴有特效,通用性比较好
2、北斗+VMpro,但是北斗+maskpe 出错!无壳木马可以先加花
3、无壳木马直接用maskPE22.0可过瑞星表面但是过不了卡巴。
4、无壳木马加一道花指令后再用VMPRO1.21加密可直接过卡巴但是可能无法过瑞星表面
5、经过免杀处理,过几种杀毒软件,加压缩壳后仍免杀过他们,但是北斗除外,先杀处理国卡巴的木马北斗后可能被卡巴杀
6、测试操作
1)手工加花+掘北压缩,鸽子
先脱壳,在用OD在零区域添加指令(根据字节编写):先找原入口点,零区域,记录其地址(新入口点),指令push eax pop eax add esp 1 inc esp push 004A1E48 retn 保存。用PE修改入口点。能过卡巴,过不了瑞星。用掘北(对瑞星表面有特效)
2)工具加花(花蝴蝶三号)+VMPRO+UPX 。**器
三、手工加花方法
1、直接:OD,记录入口点;找零区域,复制地址(新入口);写指令:push 0 nop add esp 2 inc esp inc esp push exp pop esp push 原入口点 retn 改入口点(新)(lordpe);可以把这段代码保存为二进制以后方便用。
2、去头:复制头,并去掉,填加到空白区域(新地址);再填加花指令。
3、加区:zeroadd加区段,大小一般100左右;OD打开文件,用ALT+M打开内存景象,复制区段入口地址和原程序入口,到区段加花,程序入口地址不变;lordpe修改入口为区段的入口。
4、壳中:UPX压缩;OD打开,记录壳的入口(即原入口);记录零区域地址(新入口)加花(有的壳不能写入,或保存后不能运行);LORDPE改入口。
5、壳中加区:UPX;zeroadd加区;OD,记录壳后入口,ALT+M记录区段入口,在区段里加花; 改地址。
四、编写花指令
1、相关汇编(王**汇编64讲,汇编指令查询器)
2、花指令变形修改(用花蝴蝶三号给程序加花,OD打开)
1)替换法:把mov eax 程序.地址 jmp eax改为 push 地址 retn
2)添加法:在花指令的上面把nop换成 push eax pop eax
3)移位法:在花指令里把 push eax move **xx **x pop eax换成pop eax move **xx **x push eax
4)去除法:在花指令里把 push eax move **xx **x pop eax换成nop move **xx **x nop
5)以上4种方法可综合利用
3、编写技巧:
入口地址最好是: push 地址 retn的形式或 jb 入口地址 jnb 入口地址或 mov eax 入口地址 jmp eax ,而不是 jmp 入口地址,因为容易被卡巴查杀。
五、myccl地位原理与使用介绍
1、基本原则:开始位置为代码段的其实地址,风乱长度为物理长度,定位一般选复合定位,正向之程序从上到下恢复,定位内存特征码的时候用到后缀。对体积比较大(1000 5000K)的程序分块个数可少点,第一次一般10快,定位大致位置后可分非50 100块(建议不超过200);体积比较小的程序分块可大点,定位的时间就少。
2、定位黑防鸽子的瑞星文件特征码:用myccl检测出来以后要用C32打开文件把检测出来的数据段填0后用瑞星检测。
3、定位鸽子的瑞星内存特征码:要在上步以后用。
1)TK.loader和myccl放在同一目录,tk.loader用来加载木马到内存。myccl参数与上同,另外加上后缀。
2)点生成,在目录路径上右键用TK.loader带开目录,全部载入内存,用瑞星杀。
3)记录被杀文件名,手工删除。重复上步。
4)定位好以后,用C32ASM打开已免杀的程序,把定位好的内存特征码全部填0,用OD载入,用瑞星查,测试定位是否正确。
4、技巧总结:muccl定位文件特征码效率不错,但是定位内存特征码相对比较慢,而有时候对dll文件内存定位不理想,这时候可以用OD手工定位。
六、免杀工具的组合运用
1、工具回顾:加压缩壳一减少体积为住,部分可过瑞星表面;加密与其他方法组合使用效果较好,一般可过瑞星表面;加花免杀卡巴效果好多,对不常见的黑软这中方法的马杀通用性比较好。
2、工具组合要领:可以对无壳程序直接加密也可在无壳木马加花后再加密;一般在其他免杀工作做好以后加压缩壳;加花可以对无壳,加密后的和加壳的软件做。
3、实例
1)、超级加花器V1.0(最后一个选项)+VMPRITECT V1.21
2)、maskPE2.0 + upx + 加区加花:mask选import;花指令为 push ebx pop ebx push ebx pop ebx inc ecx dec ecx jb 原入口 jnb 原入口 , lordpe改入口
3)、maskPE2.0加密(鸽子):找零区域(00482274即新入口),写入jmp 原入口 ;用lordpe改入口;加密(import).
4、工具组合经验:找特效工具组合,如maskpe 对瑞星表面,加花对卡巴,加掘北也对瑞星比较好 (加花后不能用maskpe)。黑防鸽子棉纱花指令后再用MASKPE,将不能正确运行,但是可直接向上找5字节零区域直接写jimp入口地址,然后改入口,再用mask加密,就可运行 并免杀。
七、PE头反调试
PE头的修改步骤:用C32ASM打开目标,计算PE header的大小(“?”)记录PE头开始地址,把计算出大小的区块向上复制,则PE头增大,将其HEX大小写入(”?“),修改PE头的开始地址。
八、免杀新技术(改壳免杀法)
1、改壳特征码:研究的人少,特征码单一,不脱壳做免杀方便简单,对于放DLL文件类型的木马一定要先脱壳,到处DLL文件分别做免杀。
2、步骤:用myccl定位加壳软件,用偏移量转换器OC查看特征码地址的内存地址,用跳转法修改。
3、技巧:用UPX压缩过的木马程序,有两处跳转都是卡巴的特征码,只要修改任一出都可达到免杀,第一处是离入口点的一处JMP跳转,第二出是最末尾的一处JMP,所一可以直接找到用UPX压缩过的任何木马,可以不用定位。木马复杂的特征码修改经过UPX压缩后就变的简单化。
写花指令的时候找一些比较小的零区域,用一句话花指令等方法,效果不错,这些区域一般写入花指令用 maskpe加密以后程序就回出错,但是用一句话花指令或去头免杀法,然后在用 maskpe 加密,程序不会出错(黑防鸽子的实验结论)。
4、UPX壳的几种免杀方法。卡巴查到鸽子的一个固定地址是一个固定跳转时,就认为是木马。若跳转下面有空为则可用:替换,移位(把”特征代码下移),变换修改,修改头法(把头转移到空白区域再跳到第二句,修改入口),加壳加花。
5、北斗壳的几种免杀。北斗兼容性好,压缩率高,但是有些本来免杀的软件,被北斗压缩后可能被卡巴查杀。写花指令(免卡巴),用VMPROTECT加密可过瑞星表面。polycryptpe也能免杀瑞星表面,007加密可阻止瑞星内存扫描。
6、很多查毒软件只查壳的头几句代码,可将起NOP掉测试,并利用空白区域做免杀;杀毒软件不太注意壳的特征码,所以壳的病毒特征码是单一的,可以很方便的定位和修改。
九、黑防鸽子全免杀:思路是先免杀木马本身(改特征码,加花),然后用工具加密或加压(一般是压缩),最后对壳进行免杀(改壳特征码,加花)。
1、木马本身免杀:修改瑞星内存特征码,手工加花免杀卡巴江民
2、对瑞星表面查杀有特效的压缩壳:撅北压缩
---------------------------------------------------------------------------------------------------------------------
一、定位
第一点当然是定位的问题了。这个以前还好些现在比较麻烦了,为什么这么说呢,各位免杀爱好者们都知道有时候会出现分多少杀多少,或者循环递减或者修改了还杀。这些都是定位的问题了。
首先定位要了解每款定位工具的定位原理,这个我这里就不多说了。其次要掌握些使用的小技巧,比喻用MYCCL来定位的时候定位反向和正向的不同,还有填充的数值不要老是用00填充,特别是卡巴,很容易出现循环递减或者分多少杀多少。还有multiCCL保护定位,multiCCL是一款十分不错的定位工具,特别是自动定位我最爱了~~呵呵。要善于利用保护定位会给我们减少很多的麻烦。特别是什么杀输入表移动了还杀,最好用保护定位试试,也许可以定位出来别的特征码的哦~
二、特征码的修改
我们定位好了特征码当然再接着就是修改了啊,修改的方法很多了,我这理就不多说了,但是我有一点个人的见解,不要看到特征码就用加1减1还有的小菜们直接NOP掉或者填0然后问为什么我免杀后不能运行了呢?想想也知道啊,那些十六进制数都是对应的程序的代码的,随便修改当然不行了。我建议还是多看看汇编的基础,要了解要修改的特征码在程序中的作用,我们免杀不是让程序无法运行,那样做免杀就没有意义了。在修改特征码中最让我着迷的还是等价替换,把特征码修改成相同作用的特征码这个就是考验一个免杀者的技巧的时候了。还有万能的跳转也是需要多了解的,不过现在可以使用的跳转不单单是以往的JMP跳转了,要是空白空间够用还可以用PUSH、CALL不过这些还是有局限的。
上回说到了通用跳转以及一些变异。就这个问题现在还来补充点,在用跳转的时候也要看下程序的结构以及上下的语句,有时候不能单独的调走一条两条的特征码,要整段跳走,这是为什么呢?原因就在于特征码所在的是段子程序,你单独跳走其中的一句可能会导致无法正常运行是因为跳回的代码可能无法正确指向。来个简单的例子吧。
我标记的位置就是特征码了,修改的方法多的很,我教程(PC手工特征码过瑞星)里面也又提到的,可以直接NOP掉,因为上面的XOR EAX,EAX已经把EAX给清0了,所以下面的那个XOR就是废话了。也可以改JE是改成JMP还是NOP掉就要测试了。但是这里我们为了方便解说我上面的跳转法,我们可以这样再特征码向上找,来到 PUSH ebp 就可以发现这个位置来源于
现在我们来修改,直接找个空白的位置把10010F20开始的一段全部写到空白的地方,再把100114AE的CALL的地址改成空白的位置,最后把先前的10010F20全部NOP 掉。
跳转说完了,我们再来看下上下互换吧,先看看最简单的
这三句都是PUSH,一般的都可以替换位置的,我习惯在C32下面直接改16进制,那样快直接改成 53 57 56 就可以了就是改成了 PUSH EBX PUSH EDI PUSH ESI。这些简单的互换,新手朋友一定要十分熟练的。
再来就是比较复杂一点的互换了。互换程序代码段,这个还是要有一定的汇编基础的,要看懂程序的上下代码才能换的。还有就是两个子程序的互换了,位置换好后一定要修改对应的CALL、PUSH等调用的地方,要不然会出错的。
代码等价替换,这里面的学问也是很高深的,也就是所谓的神来之笔了。改动最少的代码来让杀毒SB,简单点的一些PUSH 换成POP ADD和SUB的互换 JE和JNE等等的转换,还有瑞星最爱定位的TEST上面,直接把TEST 换成ADD直接就让瑞星SB了。呵呵,还有上面的那个例子中的XOR直接给NOP 一个就OK了,比跳转来的简单的多了。记得我PC的那个教程里面也又这方面的一些内容PUSH 0 PUSH 0 PUSH 4我们可以改成PUSH 8 PUSH -4 PUSH 0。这些都是一些免杀者总结出来的东西都是精华啦,要好好看看,研究原理,只有知道原理了才用一通百通,活学活用。
关于字符串的免杀,这个也就是最开始我们接触免杀时候的特征码了。我们可以改大小写,还可以移位,有的一说的是DLL的字符串移位被追杀,需要移动位置大点,但是却导致无法正常运行了,这就要用内存动态恢复,这个网上都有教程的,我这干说也说不清楚的。要是偷懒也可以啊直接自己添加个区段,把被追杀的字符串移进去就可以了,一般都不会追到的。有的时候我们也可以直接把字符串给换成别的,像我PC教程里面的什么警告换成什么错误换成什么等等,就不信玩不死杀软。
关于输入表的免杀,个人觉得在开始做免杀之前就重建下输入表,用手工比较麻烦也比较繁琐,所以还是推荐下用工具吧。就我教程里面提到的那款IAT重建就不错的,在我空间里面也有下载的。具体使用方法我教程里面也有,有的朋友说为什么有时候会程序报错,我看了下主要是添加的区段小了,所以重建前先看下输入表的大小再重建。最重要的当然是重建好了要把原先的输入表全部给NOP掉或者填0在要不是就随便写些什么上去,看个人的喜好了。一般要是这样重建后还能追杀到输入表(NOD32除外,下面我会说到的),那就需要你反向定位了,因为这样还能追杀光重建是没有什么作用的。当然了一般的情况下移动下位置就可以达到免杀的,要是不想重建也可以把被追杀的移动到新的区段中试试。最后还有一个偏方就是所谓的删除,直接填充掉追杀的函数,但是那要看下那个函数的作用了。填充后要用LordPE把哪里给删了。要不会提示错误找不到函数的。当然了这种方法我是不推荐的。
对于输出表的免杀一般也就是重建、移位、加密了。但是加密的局限性很大的,想了解网上也是有很多的方法的,可以看看。推荐大家去爱国者上面找下《结合PE结构免杀输出表》(好像是这个名字,记得不大清楚了)看看,那个讲得比较详细。或许看后对大家也有一定的启发。
三、对于各款杀软的些分析(个人看法)
首先说下瑞星吧,感觉瑞星是个跟屁虫(希望瑞星的粉丝不要骂我)别人NOD32追杀它也去学着追杀,别人搞主动防御它也来哎,唯一拿得出手的的就是内存杀毒了,但是我怎么感觉现在瑞星好像没有怎么增加内存特征码了,可能是我见识少了吧。瑞星一半喜欢定位到的地方就是JE/JNE上面,一般向上看下上面一般都是XOR、CMP、TEST这类的些,修改起来也是很简单的,XOR可以换成OR也可以NOP掉,这个还是需要测试的,CMP也是同XOR一样的修改,而TEST是最好修改的了直接改成ADD,百试不爽啊。
卡巴呢,特别是卡巴2009了就是卡巴8。高启发是有点**了,有时候也是让人没有办法,最少目前是这样的,就像我做黑防鸽子就是过不了卡巴的高启……也希望能人能够放出方法来帮帮我们这些菜鸟朋友了。一般修改卡巴的特征码的时候要是遇到不怎么好改的可以改上面一些的,,毕竟卡巴还是花痴哈^-^该特征码上面一点的也是起到了个加花的作用。卡巴8的虚拟运行是个高技术了,所以现在加壳过卡巴是有些困难的,但也是可以过的修改下壳子就OK了,这个网上的教程方法也不少了,我就不多献丑了。
NOD32这个在以前是个超级大难题但是从反向定位开始,NOD32的神话也被我们菜鸟们所打破了,一般NOD32的特征码都会很多的,这个是无需置疑的……。特征码一般都是定位到调用输入表的CALL或者JMP、MOV、PUSH这类的上面,这就是为什么重建输入表会追杀的原因了,你再怎么重建要调用还是会追杀到你的,正是千里追杀啊 杀啊 杀啊……扯远了。修改NOD32的特征码的时候直接把调用的指令跳走就OK了。
--------------------------------------------------------------------------------------------------------------------------
菜鸟宝典之木马免杀办法
此文章适合初学者,更好的了解木马,学习安全基础知识。
病毒,木马免杀,顾名思义 ,就是不能被杀毒软件侦测到,卡擦掉,这里面的技术,有简单的,有高深的,今天我就自己所了解到的一些小伎俩自己在这里留个记号,方便自己以后进步对比,也与大家共享我所学到的一些东西。
现在我就给大家讲讲做免杀需要的一些的东西,由于不同的制作方法有不同的步骤,所以我写的东西,都是自己想到哪里写到哪儿。
材料:巧妇难为无米之炊,我们首先需要一个加工对象,用不同的方法,最终得到免杀的结果。材料要个干净,没加工过的原材料,没加壳的木马,也就是裸马,不是罗马哦,呵呵,这个要是不裸,后面的工作我们是进行不下去的。自己有能力,写一个自己用最好。
工具步骤带在一起 了,本人太菜了,还卖乖,呵呵。别笑话啊。
做免杀,是要在杀毒软件前面刀枪不入,我们这里就要晓得杀毒软件的杀毒原理,
木马的工作原理,这个都还在不断的学习之中,最终要达到自己写专杀工具,木马的境界,慢慢来。
江民,金山,诺顿,卡巴,瑞星,听说瑞新的内存查杀功能最好,都是听说,自己动手试验最好。文件查杀都差不多,查杀都是扫描特征码,内存,文件扫描, 要免杀,就是要修改特征码,要修改 ,就要找到特征码,找到特征码的方法都是用工具自动改码,在用杀毒软件筛选?更好的方法是什么?这都要对原理熟悉,唉,都怪自己知识浅薄。
现在网上做免杀,大部分都是工具,自己不懂反汇编都,随便挑几个工具都可以做出免杀,这大概也是为什么现在病毒木马这么猖狂的原因吧 ,
网上流传方法:
1.入口点加1免杀法.用PEditor打开无壳木马程序,把原入口点加1即可,有时还是会被杀。
2.变化入口地址免杀法 (OllyDbg,PEditor)
用OD载入无壳的木马程序,把入口点的前二句移到零区域去执行,然后又跳回到入口点的,下面第三句继续执行.最后用PEditor把入口点改成零区域的地址.免杀效果还可以。
3.加花指令法免杀 (OllyDbg,PEditor)
免杀通用性好,插花指令,可以达到大部分的免杀 ,用OD打开无壳的木马程序,找到零区域,把我们准备好的花指令填进去填好后又跳回到入口点,保存好后,再用PEditor把入口点改成零区域处填入花指令的着地址
4.加壳或加伪装壳免杀法.用冷门客 ,主要是不常见,这个不怎么用,意义不大。自己愿意多穿几件衣服,呵呵,包好。还可加壳了再加伪装壳,重复都行,只要你喜欢,但最多能穿多少衣服?不晓得有没有**?
5:打乱壳的头文件免杀法.(秘密行动 ,UPX加壳工具)
效果不错,对卡巴很好,哎呀,都是听说的。自己试验了几个也看不出来啊。所以啊,好好学理论,才可融会贯通哦。
6.修改文件特征码免杀法.(特征码定位器,OllyDbg)
我想最好的还是修改特征码吧,毕竟杀毒软件主要还是靠病毒库里面的特征码来砍病毒。修改 包括文件特征码修改,内存特征码修改。具体细节方法,网上相应教材太多了,去search吧
5:打乱壳的头文件免杀法.(秘密行动 ,UPX加壳工具)
效果不错,对卡巴很好,哎呀,都是听说的。自己试验了几个也看不出来啊。所以啊,好好学理论,才可融会贯通哦。
6.修改文件特征码免杀法.(特征码定位器,OllyDbg)
我想最好的还是修改特征码吧,毕竟杀毒软件主要还是靠病毒库里面的特征码来砍病毒。修改 包括文件特征码修改,内存特征码修改。具体细节方法,网上相应教材太多了,去search吧
作者:
qnbs1
时间:
2010-6-24 07:26
这个不错。。。
作者:
hyrz
时间:
2010-6-24 10:10
这样的文章确实没见过,很经典。
作者:
骇客
时间:
2010-6-24 12:18
顶。。。好文章
作者:
swsedison
时间:
2010-8-1 21:43
不错,虽然看不大懂 。。
作者:
threeni
时间:
2010-8-28 17:37
不错,虽然看不大懂 。。
作者:
kingluo123
时间:
2010-9-20 21:34
。。。好文章
欢迎光临 【3.A.S.T】网络安全爱好者 (http://3ast.com./)
Powered by Discuz! 7.2