免杀原理详解(二)

 一:灰鸽子免杀方法大全在所有的版本中,黑防的鸽子算是比较好做免杀的了,今天在这里,我就用他做案例1,最经典的OD一半一半定位法我们把整个黑色标记的区域看成是没有修改的木马代码把它从中间切平均分成两半,把其中的一半用nop 填充掉,再用瑞星杀内存,如果杀掉了就说明特征代码在我们没有nop 掉的一半,没有杀到就说明我们刚刚nop的一半中含有特征代码。所演示的情况是特征代码在没有nop 掉的一半,然后 逐步二分查找定位特征码

一:灰鸽子免杀方法大全 
在所有的版本中,黑防的鸽子算是比较好做免杀的了,今天在这里,我就用他做案例 

1,最经典的OD一半一半定位法 
我们把整个黑色标记的区域看成是没有修改的木马代码把它从中间切平均分成两半,把其中的一半用nop 填充掉,再用瑞星杀内存,如果杀掉了就说明特征代码在我们没有nop 掉的一半,没有杀到就说明我们刚刚nop的一半中含有特征代码。 
所演示的情况是特征代码在没有nop 掉的一半,然后我们再选择含有特征代码的一半,继续分半用nop 填了再杀。这样我们的特征代码的范围就会越来越小。 
整个过程新手估计也只要1个小时左右。方法容易理解,效果好。 

2,经典二CCL定位 
原理其实大同,都是要找特征码,然后做免杀。因为过程很复杂..用文字很难表达,有需要的朋友可以私下找我,我那里有相关语音教程。 

3,加壳,加花 
现在的加壳,加花软件百花齐放,而加了一个壳或者一个花之后,都能够给鸽子的服务端免杀起到广谱免杀的效果,但总感觉没前面介绍到的两种效果好,大家自己试一下就知道了。想补充说的一点是,花和壳子最好弄的唯一一点。不然很容易被杀,大家做了之后就知道我的意思了。 
我个人感觉,那些"加区段 修改入口点 加密入口点"的方法,跟这个效果类似,所以就没另外分类 
二: 免杀方法和原理 
自从病毒与杀毒软件的诞生以来,他们之间的战争就从来没有停止过……多套特征码、自动脱壳、内存杀毒、主动防御等等的出现为网络安全做出了一次次的贡献,当然黑客们也毫不逊色,也出现了修改特征码、加双层变态壳、去文件头等新的免杀技术。 

古人云"知己知彼,方能百战不殆!" 
今天,我们就以一个病毒防御工作者的角度来做我们的免杀工作。想不被杀,就要先知道是怎么杀的,还不太懂的朋友赶紧偷偷借机恶补吧。 
1.杀毒原理 
通常,一个病毒防御工作者拿到一个截获或上报上来的病毒时,先是分析这个病毒文件执行后的动作,所谓"动作",就是指病毒文件执行后会做哪些操作。例如会生成什么新文件、怎样更改注册表、怎样注册服务、打开什么端口等等。 
搞明白这些后,下一步一般会研究这个病毒的文件结构,然后找出与众不同的地方,将其定义为特征码。而这个特征码定义的高明与否,就要看他定义的位置是否刁钻,例如他如果定义的是病毒文件更改注册表键值那部分代码的话,这显然不会太难!因为只要病毒文件更改键值,99%的情况下这个文件里一定存在被更改键值的字符串,所以找到这段字符串的位置就可以定义特征码了。但是针对这种特征码做免杀是非常容易的,只需找到相应的位置,并更改字母的大小写即可。而如果从文件头找出一段特征码就是非常不容易的事情了……除此之外,所定义的特征码还有一个分支,即内存特征码。所谓内存特征码就是指木马文件运行后释放到内存时所存在的特征,它的原理大体与上面介绍的文件特征码一样。 
当特征码定义出来之后,就会被提交到另外的一个部门,然后进入病毒定义库,当用户更新后,以后杀毒软件在碰到符合要求的文件时就会将其毫不忧郁的杀掉!也就是说,杀毒软件只认特征码,不认文件。 
由此可见,病毒防御工作者寻找特征码的方式也不过如此,但这只是定义病毒文件特征码的工作,别的例如修复被感染文件等技术步骤和本文无关,在这也就不介绍了,有兴趣的朋友可以自己研究一下。 
2.免杀分类 
免杀的方法有很多,无奈没见哪为朋友综合系统的介绍,也苦了小菜们求学无门,只好掏银子找"师傅",所以我就自告奋勇站出来一次,不足之处还请各位高手多多包涵…… 
我个人总结的免杀方法总共分两类,即主动免杀与被动免杀。 

一、主动免杀 
1. 修改字符特征:主动查找可能的特征码,包括木马文件修改注册表、生成新文件的名称与路径、注入的进程名等动作,也包括运行过程中可能出现或一定会出现的字符等文件特征。然后找出这些字符,并将其修改。 
2. 修改输入表:查找此文件的输入表函数名(API Name),并将其移位。 
3. 打乱文件结构:利用跳转(JMP),打乱文件原有结构。 
4. 修改入口点:将文件的入口点加1。 
5. 修改PE段:将PE段移动到空白位置 
二、被动免杀 
1. 修改特征码:用一些工具找出特征码并针对特征码做免杀处理。 

2. 用Vmprotect:使用Vmprotect加密区段。 

3. 文件加壳:可以用一些比较生僻的壳对木马文件进行保护。 
有的朋友看到这里有可能蒙了,PE、Vmprotect、入口点……这些都是什么意思啊?不要着急,下面我会一一介绍的,只要你看完这篇文章,就一定会成为免杀高手!怎么样?Go! 

3.实战演习 
1.)修改字符特征 
好,下面我们依然以一个病毒防御工作者的角度来考虑我们每一步应该做什么,然后在利用逆向思维分而治之。 
现在假如我们拿到一个木马样本灰鸽子,首先当然要分析它究竟有什么功能,怎样运行以及怎样保护自己等。其实这一步要求的专业知识是很多的,但考虑到我们的读者,我们暂且用一个比较简单易行的方法--运行木马AND查看此程序的帮助文档。 
我们打开RegSnap,新建一个快照,打开RegSnap后,点击[新建快照]按钮。 

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

有的朋友对于使用RegSnap收集到的信息感到无力分析,抱怨收集到的东西太多,在这里我简单的介绍一下,首先应注意的是生成做对比的两个快照之间的时间要尽可能短,另外要排除带有OpenSaveMRU的注册表键值,还要排除有关*.rsnp文件的创建读写等操作记录。下面我们就将有用的信息提取出来,逐一分析。 
文件列表于 C:\WINDOWS\*.* 
新增文件 
木马.exe 

注册表报告 
新增主键 
HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\MUICache\C:\Documents and Settings\A1Pass-admin\桌面\huigezi\复件 Server02.exe 
键值: 字符串: "复件 Server02" 
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_*6728*9A6C*670D*52A1\0000\Class 

你可能感兴趣的:(免杀)