新版系统怎么设置免杀程序

新版系统怎么设置免杀程序,第1张

win10系统自带的杀毒软件无法设置免杀,建议自行安装第三方杀毒软件,如百度电脑专家等。

安装且设置免杀之后,win10自带的杀毒软件也就不会再无故查杀了。win10系统默认会检测系统内是否装有杀毒软件,如果没有就会提示,而自带的杀毒软件只是一个试用版,而且是并非国内产物,实际用起来体验并不好。

一、主动免杀1 修改字符特征:主动查找可能的特征码,包括木马文件修改注册表、生成新文件的名称与路径、注入的进程名等动作,也包括运行过程中可能出现或一定会出现的字符等文件特征。然后找出这些字符,并将其修改。2 修改输入表:查找此文件的输入表函数名(API Name),并将其移位。3 打乱文件结构:利用跳转(JMP),打乱文件原有结构。4 修改入口点:将文件的入口点加1。5 修改PE段:将PE段移动到空白位置二、被动免杀1 修改特征码:用一些工具找出特征码并针对特征码做免杀处理。2 用Vmprotect:使用Vmprotect加密区段。3 文件加壳:可以用一些比较生僻的壳对木马文件进行保护。有的朋友看到这里有可能蒙了,PE、Vmprotect、入口点……这些都是什么意思啊?不要着急,下面我会一一介绍的,只要你看完这篇文章,就一定会成为免杀高手!怎么样?Go!3实战演习1)修改字符特征好,下面我们依然以一个病毒防御工作者的角度来考虑我们每一步应该做什么,然后在利用逆向思维分而治之。现在假如我们拿到一个木马样本灰鸽子,首先当然要分析它究竟有什么功能,怎样运行以及怎样保护自己等。其实这一步要求的专业知识是很多的,但考虑到我们的读者,我们暂且用一个比较简单易行的方法——运行木马AND查看此程序的帮助文档。我们打开RegSnap,新建一个快照,打开RegSnap后,点击[新建快照]按钮(如图1)。

在d出的对话框中选择[生成所有项目的快照](如图2)。然后保存快照,现在已经将RegSnap配置好了,下面运行我们的木马程序(提醒:做免杀时,一定要记住养好随时备分的好习惯,以防止修改错误或是实验运行时破坏、删除木马)。木马运行完毕后,我们在按照上面的方法重新做一个快照并保存,然后按快捷键F5,在d出的“比较快照”对话框中选择刚才保存的快照,在“第一个快照”中选择我们刚才第一次保存的快照,而“第二个快照”选择我们后保存的快照存档,很快结果就出来了(如图3)。

有的朋友对于使用RegSnap收集到的信息感到无力分析,抱怨收集到的东西太多,在这里我简单的介绍一下,首先应注意的是生成做对比的两个快照之间的时间要尽可能短,另外要排除带有OpenSaveMRU的注册表键值,还要排除有关rsnp文件的创建读写等 *** 作记录。下面我们就将有用的信息提取出来,逐一分析。文件列表于 C:\WINDOWS\新增文件木马exe注册表报告新增主键HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\MUICache\C:\Documents and Settings\A1Pass-admin\桌面\huigezi\复件 Server02exe键值: 字符串: "复件 Server02"HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_67289A6C670D52A1\0000\Class键值: 字符串: "LegacyDriver"HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_67289A6C670D52A1\0000\ClassGUID键值: 字符串: "{8ECC055D-047F-11D1-A537-0000F8753ED1}"HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_67289A6C670D52A1\0000\Control\ActiveService键值: 字符串: "木马服务"HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\木马服务\Description键值: 字符串: "灰鸽子服务端程序。远程监控管理"……这里我只摘录了部分关键性的木马动作记录,全部记录请见光盘。通过文件列表我们可以知道木马在WINDOW目录下生成了一个新文件,而通过注册表的监控信息我们也知道了木马是怎样将自己注册为系统服务并自动运行的。那么我们回到瑞星的研究分析室,看看那些大哥大姐们会怎么办……瑞星大哥:“最近这灰鸽子太猖狂啦!我们是不是应该多定义几套特征码?”瑞星大姐:“恩,不错!先在注册表那定义一套特征码在说吧。”A1Pass:“STOP!!”(只见画面突然定格,A1Pass将播放器最小化。)通过上面的对话,我们可以知道他们要将注册表的某个字符定义为特征码,从上面RegSnap分析出来的记录来看,他们的选择真的是太多了!那么他们究竟会用到哪些呢?其实,就做为一个黑客来讲,只要不影响服务端正常运行,就应该尽量多的改掉木马的所有字符,当然全部改变是不可能的,除非你自己编写木马。有的朋友要问了,除了注册表别的就不可以改了吗?答案当然是否定的,譬如生成新文件的名称与路径、注入的进程名等动作,这些我们可以利用WINDOWS对字母大小写不敏感的这一特点直接替换字母的大小写,而对于运行过程中可能出现或一定会出现的字符等我们可以直接将其替换成别的内容。下面我为大家演示一下怎样更改注入进程的名称。首先配置服务端,通过图4我们可以看出来灰鸽子的启动运行是需要“IEXPLOREEXE”这个进程的,根据注册表的推理,我们可以认为其未加壳的服务端是应该存在“IEXPLOREEXE”这一字符串的。既然如此,我们就先请出我们的第一把武器“WinHex”!

WinHex是一款极为出名16进制编辑器。得到 ZDNetSoftwareLibrary 五星级最高评价,拥有强大的系统效用。在这里,我们只用它来编辑文件,其余不做过多讨论。首先我们用WinHex打开我们的木马文件“Serverexe”,打开后如图5所示。

然后我们按[Ctrl]+[F]快捷键调出查找文本对话框,输入IEXPLOREEXE后点击“是”(如图6)。

结果如图7所示。下面我们就对其进行大小写转换,用鼠标点击要更改的字母(例如I),然后在按键盘上的i,即可完成更改,就象使用WINDOWS的记事本一样。更改完毕后,按[Ctrl]+[S]快捷键保存即可。

就这么简单?对!就这么简单!其他的例如注册表、生成新文件的名称与路径等等都可以利用此方法更改。但是不幸的是,经过这样改后,还不足以对付例如金山、江民等品牌杀毒软件,要想对付这些杀毒软件的查杀,我们还需要对我们的木马进行进一步处理。下面,我们开始学习输入表函数(APIName)免杀!2)修改输入表不知有的朋友是否知道,PE文件的正常运行是离不开其内部输入表函数的,而不同的程序,其内部输入表函数的名称与在文件中的位置是不一样的,所以输入表函数也成了病毒防御工作者制作特征码紧盯的地方之一。在我查出来的关于灰鸽子的特征码来看,“瑞星大哥”已经将其的一处输入表函数作为特征码了。所以掌握输入表函数免杀技巧对于新入门的朋友来说势在必行!

[PE文件小知识:PE文件是WINDOWS系统中特有的一种文件结构,它包括PE文件头、输入表与相关资源文件等等]经过我的测试,直接单独修改文件内部的输入表函数会导致程序运行不正常甚至崩溃!那就没有办法了吗?我可没那么容易认输!经过一翻苦战,终于让我在LordPE中找到了解决办法,同时FoBnN的文章也给了我非常大的启发……我们先打开LordPE,点击[PE编辑器]按钮,在d出的对话框中选中木马文件,打开后点击[目录](如图8)。在点击导入表后面的[…](如图9)。在d出的对话框中我们选择wininetdll下的InternetOpenUrlA(如图10),有的朋友要问了,为什么非选择InternetOpenUrlA这个输入表函数呢?呵呵!那是因为这个输入表里有特征码哦,关于怎样确定特征码,我在后面会介绍,大家先别着急。

好的,关于LordPE就先停在这,下面我们就用WinHex来查找InternetOpenUrlA这个输入表函数的所在位置,并将其用0填充( *** 作方法:单击WinHex右面的16进制信息,输入0即可)(如图11、12)。

然后将其写到空白区域(既显示000000的区域),一定要从头开始写入,这样在以后计算地址时不容易出错,除此之外也要注意输入表函数的大小写不要搞错(如图13)。保存后我们在回到LordPE那里,在需要更改的InternetOpenUrlA输入表函数上单击右键,在d出的菜单里选择“编辑”,将Thunk里的信息改成000B9D5E(如图14)即可。有的朋友要问了,刚才我们不是把那个输入表函数放到000B9D60那里了吗?到这怎么变成000B9D5E了?其实原理很简单,因为每个输入表函数前面都是有一个空格的,我们虽不用真正把那个空格加进去,但填写它的地址时一定要空出来,否则就会出错!而将000B9D60减去一个空格所占的位置,其地址正好为000B9D5E,还不十分明白的朋友在仔细看看图13,下面我们在回到LordPE,看看我们改过的输入表函数变成什么样了(如图15)?呵呵!那我们该怎么办呢?其实简单的很,只要在重新改一下输入表函数的名称就可以了(如图16)。有的时候因为我们所填写的地址为比较靠后的,例如我们现在改的这个000B9D5E,后面仅能容纳两个字节,所以更改输入表函数时只能键入两个字,对于这种情况我们可以先把Thunk里的信息改成如000B9D60这样的起始地址,改输入表函数名更改完毕后在将000B9D60改回原来的值(既000B9D5E),保存后即可成功,我们试一下看看(如图17)。经测验鸽子的各项功能均正常!在用瑞星查一下试试(如图18),结果当然不言而喻……

3)修改特征码虽然到这我们免杀已经成功,但是为了学到更多的技术,为了让我们免杀的鸽子存活的更久,下面我在为大家介绍一下特征码的查找与修改技巧。特征码是杀毒软件的心脏,但同样也是我们的心脏!就看谁先找到对方地心脏,并能发出致命一击,谁就是胜利者!一提到查找特征码,就不得不说说MyCCL与CCL,这两个软件的名字相信留心过免杀技术的朋友不会陌生,但由于软件 *** 作的傻瓜化,很多时候对于CCL的介绍只是一带而过,这可苦了入门的朋友!这一小节我就先介绍一下MyCCL的用法……我们先来认识一下MyCCL(如图19),根据这张图我们下面就来大体介绍一下MyCCL的应用方法。首先点击第1处选择文件,然后在第2处输入分块个数,分块个数越多,定位越精确,然而生成的速度同时也就越慢,生成的文件总体积也就越大,就象灰鸽子这么大的服务端,如果分块数为300的话,那么它生成文件的总体积将超过230M!所以在这里不建议填写太大的数字,一般象灰鸽子这样的服务端分块数填400个就足够了。生成完毕后会d出个对话框提醒你去相应目录杀毒,图中所示为“E:\文章\极度免杀\鸽子\OUTPUT”文件夹,我们到那个文件夹下开始杀毒,查到病毒就让杀毒软件将其彻底删除,注意,这一点很重要!处理完毕后点击第3处的二次处理,在点击[生成]上面的[特征区间]按钮即可出现右面的对话框。下面我们在“区间设定”里右键单击特征码区间,在d出的菜单中选择“复合精确定位此处特征”(如图20),然后重复上面的 *** 作,直到你认为[单位长度]已经小到很方便更改的时候,特征码的定位就算结束了。好了,一口气说了这么多,不知道刚入门的朋友是否懂得一些MyCCL的用法了没有……但是上面我们定位的是文件特征码,还有内存特征码没有定义,这里我们要用到CCL的内存特征码定位功能,打开CCL后,我们依次选择[文件]→[特征码验测]→[内存特征码](如图21)。

在d出的对话框中选择我们要进行免杀 *** 作的木马,然后会进入“定位范围选择窗口”(如图22)。由图中可知,第一个CODE段的偏移量为00000400,也就是说我们可以用00000400做为起始位置,那么我么就在用户输入区的“起始位置”处填写00000400,下面的那个验测大小怎么填写呢?看到图22中画线的那个“当前文件大小”了吗?我们可以用WINDOWS系统自带的计算器进行计算,把计算器的“查看”菜单设置为科学型、十六进制、四字(如图23)。然后用当前文件大小的值减去起始值00000400,得到的结果为000B9A00,那么我们就在“验测大小”后填上000B9A00,然后点击“填加区段”按钮(如图24)。最后点击确定,在新d出的对话框中点击运行,不过需要注意的是,在进行此步 *** 作时一定要打开杀毒软件的所有功能。下面你要做的就是等待……然而光找特征码是不够的,我们还得学会怎样更改,而关于特征码地更改是非常有学问的!这里为了方便广大读者能学以致用,在此我只介绍部分理论知识,着重介绍实践 *** 作,但是我想请大家注意,免杀的方法象你做完免杀的木马一样,都有生存时间,而过了这个时间,这种免杀方法就变的不在实用,或者免杀效果大打折扣!所以要想真正成为免杀高手,还的打牢基本功,不断创造出新的免杀方法,因为我们是在与杀毒软件厂商的专业技术人员“斗法”啊!关于需要注意的问题就先讲的这,下面我带大家先来了解一下目前更改特征码的办法。1 大小写替换(只适用于文件免杀)适 用 于:出现可识别的英文字母或词组,并且确定其不是相关函数(如输入表函数)。 *** 作方法:如咱们“实战演习”的第一节讲的一样,只须将大小写替换一下就可以了,例如特征码中出现了A,你只要将其替换为a即可。原 理:利用WINDOWS系统对大小写不敏感,而杀毒软件却对大小写非常敏感这一特性达到免杀目的。2 用00填充适 用 于:几乎任何情况,但成功率不是非常高。 *** 作方法:例如我们找到了一处特征码0009EE7F_00000005,那么根据这段特征码信息我们可以知道它的位置在0009EE7F,大小为5个字节,也就是0009EE7F-0009EE83这一段内容(如图25)。

一直跟着文章实践 *** 作的朋友肯定有疑问,你是怎么找到那个地址的呢?而我怎么找不到呢?那是因为WinHex的默认偏移量为decimal模式,我们单击Offset栏将其改为16进制模式即可(如图26)。

然后我们有选择的一处处地用00填充(如图27)。记住要多试几次,80%的情况下你都能找到一处既能免杀又不影响程序正常运行的区域。对于定义出的内存特征码,只要将其内存地址用一个叫做《便宜量转换器》的小程序转换成16进制偏移量,然后在进行相应 *** 作即可。原 理:由于PE文件的特殊格式以及程序编译语言等问题,使得生成目标代码的效率并不高,难免出现一些“垃圾信息”,而这些信息存在与否对与程序是否能正常运行并不起决定性的作用,而当木马的这部分“垃圾信息”被定义为特征码时,我们完全可以将其删除,而删除的方法就是用无任何意义的00将其替换。3 跳到空白区域适 用 于:几乎任何情况,成功率比较高。 *** 作方法:还是以特征码0009EE7F_00000005为例子,假如我们使用00填充的方法失败了那么不要多想,接下来马上试试OllyDbg,关于OllyDbg我就不多介绍了,它是非常棒而且非常专业的一个动态反汇编/调试工具,这里我们只用它来帮助我们进行免杀作业,首先应该做的就是将我们的16进制偏移量0009EE7F转换为内存地址,因为OllyDbg的工作原理是先将程序释放到内存空间里,然后才能进行相关作业…这里要用到的是一个叫做《便宜量转换器》的小程序,我们用其转换完毕后得到的内存地址为0049FA7F(如图28)。

下面我们用OllyDbg打开我们的木马服务端,首先找到一处空白区,并域记下这的地址004A24A5,然后找到我们刚转换过来的地址0049FA7F,先将以0049FA7F开始以下的这三行数据选定,然后单击右键选则[复制]→[到接剪贴板](如图29)。将其复制到本文文档里备用,然后在将这三行代码一一NOP掉(如图30)。最后右键点击0049FA7F,在d出的对话框中选择汇编,并写入“jmp 004A24A5”这条汇编指令(如图31)。记住,在点击[汇编]按钮之前一定先把“使用 NOP 填充”前面的勾去掉。然后我们记下汇编后0049FA7F的下面那个地址0049FA84(仔细观察图31)。好,下面我们回到004A24A5这处刚才找到的空白地址(如图32)。

然后用刚才汇编的方法把在本文文档里备用的信息一句句地汇编进去,然后在将最后一句代码的下一行004A24AA处加入“jmp 0049FA84”这行代码(如图33)。然后单击右键→[复制到可执行文件]→[所有修改](如图34)。

在d出的对话框中选择“全部复制”然后保存即可。而对于内存免杀就省去了内存地址转换这一步了。原 理:大家先看图35,由图中可知,正象此方法的名字“跳到空白区域”一样,这种方法的原理就是将原本含有特征码的信息转移到空白区域,并把原先位置的信息全部NOP掉,并在那里加一个跳转指令,让其跳到004A24A5处,也就是我们找到的空白区域,并把原来在0049FA84的信息移到这里,加完信息后在加一条指令让其在跳回去,以使程序连贯起来。

4 上下互换适 用 于:几乎任何情况,成功率比较高。 *** 作方法:先用OllyDbg载入木马程序,假定其特征码为0009EE7F_00000005,我们还是先用《偏移量转换器》将其转换为内存地址,上面我们已经知道0009EE7F对应的内存地址为0049FA7F,然后在OllyDbg中找到相应位置,利用上面“跳到空白区域”里介绍的修改方法将0049FA7F上下两句代码调换位置即可。而对于内存免杀就省去了内存地址转换这一步了。原 理:杀毒软件的特征码定位是严格按照相关偏移量于内存地址进行的,而其实我们的应用程序中的机器码执行顺序的先后在一般情况下是没有死规定的,所以我们只需将其上下互换,杀毒软件自然就不认识了。5ADD与SUB 互换适 用 于:在内存特征码中出现ADD或 SUB指令的,成功率比较高。 *** 作方法:用OllyDbg载入木马程序,假定其特征码所对应的地址中有ADD或SUB指令,例如00018A88:XXXXX 00000088 ADD ECX 10000000我们可以将ADD ECX 10000000这段机器码改为SUB ECX F0000000,更改完毕后保存为EXE文件即可。原 理:我们都知道1+1=2,我们也知道1-(-1)=2,上面就是利用了这个原理,其中ADD指令的就是加意思,而SUB则是减的意思。虽然被我们互换了一下,但是最终结果还是一样的,可是换完之后杀毒软件就不认识了。到这里,关于特征码的查找与修改就讲完了,但是除此之外呢?答案是还有许多!!下面我们就一起看看其他免杀方法。4)其他免杀方法改文件头:这里所说的改文件头包括加头去头,文件加花。关于加头去头,我们还是用OllyDbg。用OllyDbg载入后,OllyDbg会自动停在入口点(如图36)。

我们将头三行机器码复制保存起来,然后找到空白区域,用汇编的方法一一将其写入(如图37)。然后在后面写入一条JMP指令,让其跳到初始入口点的第四行,相信一直仔细看本文的朋友一定明白其原理,如果忘了的话可以看上面修改特征码的第三种方法,原理与这差不多,修改完毕后如下所示:004A2A73 0000 add byte ptr ds:[eax],al004A2A75 0000 add byte ptr ds:[eax],al004A2A77 55 push ebp004A2A78 8BEC mov ebp,esp004A2A7A B9 04000000 mov ecx,4004A2A7F ^ E9 CCF3FFFF jmp Server004A1E50004A2A84 0000 add byte ptr ds:[eax],al004A2A86 0000 add byte ptr ds:[eax],al004A2A88 0000 add byte ptr ds:[eax],al

上面的add byte ptr ds:[eax],al就是所谓的空白区域,我们看到改完后的头文件位于004A2A77,所以我们还要用PEditor改一下入口点,打开PEditor后载入文件,将入口点处的地址改为我们的新文件头地址004A2A77(如图38),保存后即可。

“小达”就是免杀后的程序了,不信你再编译一个名字不同但代码完全一样的程序,比较一下大小看看是不是不一样了……

而“小达exebak”则是你之前的程序,不信你那刚刚编译的软件看看,是不是大小完全一样呢~

把“小达exebak”改成“小达exe”就是加壳前的可执行程序了……

你的电脑中bak不是可执行程序,但是不排除某些人把bak文件可执行掉(这个在注册表里面是可以改的~)

(比如写一个程序,把txt可执行掉……呵呵)

首先来简单了解一下杀毒软件查杀病毒的原理,当前杀毒软件对病毒的查杀主要有特征代码法和行为监测法。其中前一个比较方法古老,又分为文件查杀和内存查杀,杀毒软件公司拿到病毒的样本以后,定义一段病毒特征码到病毒库中,然后与扫描的文件比对,如果一致则认为是病毒,内存查杀则是载入内存后再比对,第二个比较新,它利用的原理是某些特定的病毒会有某些特定的行为,来监测病毒。

免杀常用的工具:

Ollydbg 调试器简称OD,动态追踪工具 peid 查壳工具 PEditor PE文件头编辑工具

CCL,伯乐,MYCCL 特征码定位器 oc 地址转换器 reloc 修改EP段地址工具 zeroadd 加区工具 Uedit32 十六进制编辑器

免杀方法

一文件免杀

1加花

2修改文件特征码

3加壳

4修改加壳后的文件

二内存免杀

修改特征码

三行为免杀

加花

加花是文件免 杀的常用手段,加花原理就是通过添加花指令(一些垃圾指令,类似加1减1之类废话)让杀毒软件检测不到特征码。加花可以分为加区加花和去头加花。一般加花 工具使用加区加花,当然也是可以手工加的,就是先用zeroadd添加一个区段,然后在新加区段里写入花指令,然后跳转到原入口;去头加花,是先NOP (汇编里的空 *** 作)掉程序的入口几行,然后找到下方0000区,写入NOP掉的代码和一些花指令,再通过JMP(汇编里的无条件跳转)跳到原入口。

加花以后一些杀毒软件就认不出了,但有些比较强悍的杀毒,比如司机大叔(卡巴斯基)可能还是能查出来,这时就要定位特征码然后修改了,要修改首先必须知道特征码在哪里,所以需要先定位特征码,这是个难点,特别是复合特征码的定位。

特征码定位

特征码定位主要有两种方法:第一 直接替换法;第二 二叉数法;

直接替换法是最早开始出现的一种特征码定位方法,按一定的字节数逐个替换原代码并保存,比如木马总共100字节,可以先把0-10个字节用0替换,保存, 然后用杀毒软件扫描,不被查杀说明特征码已经被覆盖掉了,如果还被查杀则替换10-20字节,再保存,扫描……直到找出特征码。替换法的优点是容易理解, 速度快(对文件特征码而言),特征码定位工具伯乐以及CCL的手动方式就是利用的替换法原理,文件特征码定位经常使用的就是这种方法。但是对于内存特征码的定位这种方法就不太实用了,每次替换以后都要载入内存再扫描,如果木马较大,替换生成的文件会 非常多,每个都要载入内存花费太多时间,除此之外它还有一个非常大的局限性,就是只能确定只有一处特征码的情况(某种特定情况下的多特征码也是适用的,下 面的第3种情况将有讲述),杀毒软件还有别的定位特征码的机制,比如有的杀毒的定义了a,b两处特征码(三处或者更多原理是一样的,为了讲解方便,以下均 以两处为例),只要a,b有一个存在便报毒,只有加大替换范围直到两处同时被替换才不报毒,如果两处距离比较远,定义出的范围将非常粗糙,很明显直接替换 法将不再合适,这时第二种方法就有用武之地了。

二叉数法使用的原理是一半一半定位,CCL的自动方式就是运用的这个原理。将待检测段一分为二,分别替换并生成两个文件A和B,其中A是原文件后半部分被0替换后生成的,B是前半部分被0替换的,杀毒开始查杀生成文件(如果是内存特征码定位则先载入内存再扫描内存),有4种情况

(1)A存在,B被删:这种情况说明A文件中特征码已经被替换掉,因此将A的被替换部分一分为二,起始偏移为A的偏移,再进行检测;

(2)A被删,B存在:这种情况说明B文件中特征码已经被替换掉,因此将B的被替换部分一分为二,起始偏移为B的偏移,再进行检测;

(3)A存在,B存在:这种情况说明没法定位A和B中有没有特征码,因此分别对A和B再一分为二进行检测;

(4)A被删,B被删:这种情况说明两个区段都存在特征码,因此分别对A和B再一分为二进行检测。

对A再分时会将原来的B区段填充为0,相当于去除B区段的影响,只考虑A;同理对B再分时会将原来的A区段内容填0,相当于去除A区段的影响,只考虑B。

第(1)(2)对应的是只有一处特征码的情况,比较容易理解;

第(3)对应的是定义了a,b两处特征码的情况,但是和前面提到的那种不同,杀毒软件为避免误判,定义了a,b两处特征码,要ab同时存在时才报毒,假设a,b分别存在于A,B中,a,b不同时存在,杀毒对A,B均不报警,接下来该如何判断呢?举个例子说明一下

木 马原来是…a……b…,第一次替换以后A:…a…000000,B:000000…b…,现在ab不同时存在,A,B都不被杀,则分别对A,B再次一分为 二,…a……b000,…a…000…,000……b…,…a000…b…,再次扫描就可以找到两处特征码的位置,如果还是不行,再继续分……直到全部找 到;其实这种类型的多特征码直接替换也是可以定位的,甚至效果更好,按一定位数替换,然后扫描,只要替换了一个特征码就不再报毒,所以不报毒的便是特征码 被覆盖的,不管有几处都可以定位出,而且修改时也只要修改任意一处就可以了。

第(4)种对应的情况也是杀毒定义了多处特征码,就是上面提到的那种情况,只要有一处符合就认定是病毒。还是以a,b两处特征码为例,第一次替换后的结果同(3),两部分分开考虑,互不影响, 相当于分解成两个单个特征码的情况,第二次替换后变成000000…b000,000000…000…,000…000000,…a000000000, 依此类推,直到精确定位出所有特征码,如果有N处特征码就相当于分解成N个单特征码来定位,现在N一般小于等于3,这种情况定位出的所有特征码必须全部修 改了才能免杀。

二叉数法是个很不错的思路,可以解决大部分的问题,但是不是无懈可击呢?回答是否定的!可恶的杀毒软件还有一个杀手锏,就是复合特征码,给我们定位特征码 带来了很大的麻烦。复合特征码的定位机制是,先定义出N个特征码,只要里面某些同时出现便认为是病毒。举个简单例子说明一下:木马原来是…a1…b1… c1…a2…b2…c2…(a1,a2一样,加标号只是为了后面描述方便),只要abc同时出现就认为是病毒,这该如何定位呢?原理不是很难,也是利用替 换再查杀的方法,先从后往前用0替换,替换精度假设为每次替换量增加1000字节,开始一直显示是病毒,直到替换到地址13140040(为叙述方便随便 说的一个地址)时替换的字节达到15000个,即…a1…b1…00000000,两个c都被替换掉了,此时显示不是病毒,由此可知,特征码c1就在 13140040后面1000字节内,减小替换字节数比如改为替换14900字节,即精度改为每次替换减小100字节,还是无毒则减为替换14800字 节,不断重复……直到精确定位出c1的位置;如果改为从前往后替换,则可以定位出a2的位置;其他特征码的定位可以利用已经定位到的c1,a2,把其中一 个用0替换了比如c1,从后往前就可以定位出c2,直到定位出所有特征码,其实原理并不复杂,但是要真正手动 *** 作起来却是非常麻烦的,我们可以利用 MYCCL,它用的原理与之类似,具体 *** 作可以看MYCCL的 *** 作帮助。还有一种方法更科学,原理是一样,但是替换的字节数不是等量增加的,而是以2的n -1次方增加的,第一次替换1字节,第二次2字节,第三次4字节……减小时也按照这种规律,这种替换方法有点类似于二叉数法,可以更快定位出特征码的位 置,我想这也是MYCCL在复合特征码定位方面应该改进的地方吧。

复合特征码虽好,大家也不用害怕,认为所有杀毒都来个复合特征码我们就要累死了,定义复合特征码需要单个特征码几倍的病毒库,不方便用户的升级,所以除了特别流行的病毒,定义复合特征码的也不是很多。

定位特征码有些经验可以告诉大家,文件特征码的定位一般用直接替换法,可以借用CCL的手动定位;内存特征码定位,一般用二叉数法,可以用CCL自动定位。对于EXE文件如果文件较小,可以两种方法结合,先用直接替换法生成,可以用伯乐这个工具(为什么不用CCL呢,因为伯乐生成的是EXE文件可以看出图标的模样),找到还能正常运行的,那些图标都变了的说明PE头已经损坏了,就不要试了,然后载入内存,再扫描内存,如果既能正常运行又不被杀,恭喜你!成功了!定位出了大体范围,再用CCL自动定位,很快就可以完成。如果文件较大,用伯乐生成的文件太多,也不方便,还是用CCL定位,对于DLL文件也只能老老实实用CCL定位了。

特征码修改

特征码修改可能需要一点汇编的知识,光盘里有常用的汇编语法介绍,修改主要有直接修改法和跳转修改法。

直接修改法利用的是等效指令替换,比如

add eax,0c等效于sub eax,-0c

或者指令顺序的改变不影响执行的效果,比如

add eax,0c;eax寄存器加上0c再赋给eax

add ebx,05;ebx寄存器加上05再赋给ebx

等效于

add ebx,05;ebx寄存器加上05再赋给ebx

add eax,0c;eax寄存器加上0c再赋给eax

还有一种是如果特征码是ASCII码,可以直接修改大小写,小写字母换成大写,大写的换成小写。

加壳

不用说了,用工具大家都会,加壳的原理是给原程序加上一段保护程序,有保护和加密功能,运行加壳后的文件是先运行壳再运行真实文件从而起到保护作用。我想提醒大家的是,再好的壳用的人多了,还是会被杀的,所以可以努力学好E文,自己到国外的网站找加壳工具,比较好。

修改加壳后的文件

加壳以后程序入口处会有一段特殊代码,可以自己用OD打开不同加壳工具加过壳的文件, 可以发现不同的壳开头那段代码是不同的,也可以说成是壳的特征代码吧,对于常用的壳杀毒软件可以脱掉壳再查杀,也就是所谓的穿壳技术,为了避免杀毒软件认 出是加的哪种壳我们可以加双壳,或者自己修改开头那段代码,从而让杀毒看不出是什么工具加的壳,这里我只讲一种修改方法,可以参照去头添加花指令,在空白 区域加入一段别的壳的特征头,然后JMP跳到原入口,这样杀毒就会误判加壳工具,从而达到免杀的效果,其实方法是多样只要愿意思考总能想出应对的方法。

还有一种修改壳的方法就是修改EP段的入口,用Peid查一下加过壳的木马,可以发现EP段的地址,也就是区段入口,通过修改EP入口地址可以达到免杀的效果,利用的工具是reloc,具体使用方法自己去问google。

行为免杀

这种杀毒的代表是绿鹰PC万能精灵。一般说来木马在运行以后会复制到系统目录下然后运行,原文件可能会自动删除,现在的木马一般是插入进程来访问网络的,在进程里可以看到被插入的进程,设置开机启动也是木马必须做的可以写入注册表,加入服务,写入驱动等等,这些便是木马特有的行为。我们可以用注册表监控,文件修改监控的工具比如木马辅助查找器记录修改的文件、注册表,推测杀毒可能监控的是哪个行为从而对应修改行为来达到行为免杀。还有一个一般的方法,行为杀毒是不会查杀系统的启动项的,我们可以把木马的启动项替换成非系统必须的开机自启动项就可以成功免杀了。至于其他的方法,大家可以自己再研究。

至于网上流传的入口加1,就是用PEditor将木马入口地址+1,有时也是可以达到免杀的效果,好象是瑞星比较吃这个,还有个小窍门可以告诉大家,要让 自己的免杀木马尽量久的不被查到,最好选择比较老的木马来做,对新木马,杀毒盯的紧会经常更新病毒库,而老的呢……不用说了吧。

总结:

一般免杀步骤是先定义内存特征码,修改内存特征码,加花指令做文件免杀,如果还被某些杀毒查杀则定义文件特征码,修改特征码,接下来是行为免杀,然后加壳,再修改壳。内存免杀一般只要做瑞星的就可以了,其他的杀毒软件没有真正意义上的内存杀毒,比如卡巴斯基的内存扫描就是文件快速扫描,一般加入花指令(稍微学点汇编,折腾些垃圾代码是很简单的)以后就可以躲过金山,瑞星,江民的文件查杀,万一有不过的就要定位特征码再修改,卡巴的文件查 杀是很牛的,加了壳也几乎都能可以查出来,一般都要定位特征码再修改,对于诺顿这种喜欢把特征码定位在PE头的只要用北斗之类工具加个壳,把PE头改得一 塌糊涂,它就不认识了,如果还想把免杀做好点,可以把自己的服务和注册表键值改成非系统必须的,要是你是不折不扣完美主义者,可以再修改一下加壳后的文件,把免杀进行到底!

一花指令相关知识:

其实是一段垃圾代码,和一些乱跳转,但并不影响程序的正常运行。加了花指令后,使一些杀毒软件无法正确识别木马程序,从而达到免杀的效果。

二加花指令使木马免杀制作过程详解:

第一步:配置一个不加壳的木马程序。

第二步:用OD载入这个木马程序,同时记下入口点的内存地址。

第三步:向下拉滚动条,找到零区域(也就是可以插入代码的都是0的空白地方)。并记下零区域的起始内存地址。

第四步:从这个零区域的起始地址开始一句一句的写入我们准备好的花指令代码。

第五步:花指令写完后,在花指令的结束位置加一句:JMP 刚才OD载入时的入口点内存地址。

第六步:保存修改结果后,最后用PEditor这款工具打开这个改过后的木马程序。在入口点处把原来的入口地址改成刚才记下的零区域的起始内存地址,并按应用更改。使更改生效。

三加花指令免杀技术总节:

1优点:通用性非常不错,一般一个木马程序加入花指令后,就可以躲大部分的杀毒软件,不像改特征码,只能躲过某一种杀毒软件。

2缺点:这种方法还是不能过具有内存查杀的杀毒软件,比如瑞星内存查杀等。

3以后将加花指令与改入口点,加壳,改特征码这几种方法结合起来混合使用效果将非常不错。

四加花指令免杀要点:

由于黑客网站公布的花指令过不了一段时间就会被杀软辨认出来,所以需要你自己去搜集一些不常用的花指令,另外目前还有几款软件可以自动帮你加花,方便一些不熟悉的朋友,例如花指令添加器等。

五常见花指令代码

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

1。 VC++ 50

PUSH EBP

MOV EBP,ESP

PUSH -1

push 515448

PUSH 6021A8

MOV EAX,DWORD PTR FS:[0]

PUSH EAX

MOV DWORD PTR FS:[0],ESP

ADD ESP,-6C

PUSH EBX

PUSH ESI

PUSH EDI

jmp 跳转到程序原来的入口点

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

2。c ++

push ebp

mov ebp,esp

push -1

push 111111

push 222222

mov eax,fs:[0]

push eax

mov fs:[0],esp

pop eax

mov fs:[0],eax

pop eax

pop eax

pop eax

pop eax

mov ebp,eax

jmp 跳转到程序原来的入口点

去百度上so一下 如果拟不想so我可一给你搬过来 ,如果你想学习免杀技术:1基础的汇编语言 2修改工具(不指那些傻瓜式软件)如:

OllyDbg PEditor C32ASM MYCCL复合特征码定位器UE OC 资源编辑器等还有一些查壳 脱壳软件(如:PEID RL脱壳机等) 以下是常用的几种免杀方法及工具:一 要使一个木马免杀,首先要准备一个不加壳的木马,这点非常重要,否则

免杀 *** 作就不能进行下去。

二然后我们要木马的内存免杀,从上面分析可以看出,目前的内存查杀,只有

瑞星最强,其它杀毒软件内存查杀现在还不起作用所以我们只针对瑞星的内存查杀

,要进行内存特征码的定位和修改,才能内存免杀。

二对符其它的杀毒软件,比如江民,金山,诺顿,卡巴我们可以采用下面的方

法,或这些方面的组合使用1>入口点加1免杀法

2>变化入口地址免杀法

3>加花指令法免杀法

4>加壳或加伪装壳免杀法

5>打乱壳的头文件免杀法

6>修改文件特征码免杀法

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

一入口点加1免杀法:

1用到工具:PEditor

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>入口点加1免杀法---> 1>加压缩壳--->1>再加壳或多重加壳

2>变化入口地址免杀法 2>加成僻壳 2>加壳的伪装

3>加花指令法免杀法 3>打乱壳的头文件

4>修改文件特征码免杀法

注:这个方案可以任意组合各种不同的免杀方案并达到各种不同的免杀效果

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

1完全免杀方案一:

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

2完全免杀方案二:

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

3完全免杀方案三:

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

4完全免杀方案四:

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

5完全变态免杀方案五:

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

还有其它免杀方案可根据第五部分任意组合

以上就是关于新版系统怎么设置免杀程序全部的内容,包括:新版系统怎么设置免杀程序、用软件做免杀改特征码的方法、我用易语言免杀工具给做的程序做免杀,为什么不能打开等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9771158.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存