免杀攻略1
自从病毒与杀毒软件的诞生以来,他们之间的战争就从来没有停止过……多套特征码、自动脱壳、内存杀毒、主动防御等等的出现为网络安全做出了一次次的贡献,当然黑客们也毫不逊色,也出现了修改特征码、加双层变态壳、去文件头等新的免杀技术。古人云“知己知彼,方能百战不殆!” +J(_+oy v)I
今天,我们就以一个病毒防御工作者的角度来做我们的免杀工作。想不被杀,就要先知道是怎么杀的,还不太懂的朋友赶紧偷偷借机恶补吧。 u$BCy!vj t
1.杀毒原理
通常,一个病毒防御工作者拿到一个截获或上报上来的病毒时,先是分析这个病毒文件执行后的动作,所谓“动作”,就是指病毒文件执行后会做哪些操作。例如会生成什么新文件、怎样更改注册表、怎样注册服务、打开什么端口等等。
搞明白这些后,下一步一般会研究这个病毒的文件结构,然后找出与众不同的地方,将其定义为特征码。而这个特征码定义的高明与否,就要看他定义的位置是否刁钻,例如他如果定义的是病毒文件更改注册表键值那部分代码的话,这显然不会太难!因为只要病毒文件更改键值,99%的情况下这个文件里一定存在被更改键值的字符串,所以找到这段字符串的位置就可以定义特征码了。但是针对这种特征码做免杀是非常容易的,只需找到相应的位置,并更改字母的大小写即可。而如果从文件头找出一段特征码就是非常不容易的事情了……除此之外,所定义的特征码还有一个分支,即内存特征码。所谓内存特征码就是指木马文件运行后释放到内存时所存在的特征,它的原理大体与上面介绍的文件特征码一样。 TWtE7T*C'}3M0z
当特征码定义出来之后,就会被提交到另外的一个部门,然后进入病毒定义库,当用户更新后,以后杀毒软件在碰到符合要求的文件时就会将其毫不忧郁的杀掉!也就是说,杀毒软件只认特征码,不认文件。
由此可见,病毒防御工作者寻找特征码的方式也不过如此,但这只是定义病毒文件特征码的工作,别的例如修复被感染文件等技术步骤和本文无关,在这也就不介绍了,有兴趣的朋友可以自己研究一下。
|6QJs-p;d3Xd.F
2.免杀分类
免杀的方法有很多,无奈没见哪位朋友综合系统的介绍,也苦了小菜们求学无门,只好掏银子找“师傅”,所以我就自告奋勇站出来一次,不足之处还请各位高手多多包涵…… .x p4B%e7Uv
我个人总结的免杀方法总共分两类,即主动免杀与被动免杀。 BkV?7g d'v*h9F)j
一、主动免杀 6C1po B:D
1.修改字符特征:主动查找可能的特征码,包括木马文件修改注册表、生成新文件的名称与路径、注入的进程名等动作,也包括运行过程中可能出现或一定会出现的字符等文件特征。然后找出这些字符,并将其修改。 ,_ oq"g6[y?
2.修改输入表:查找此文件的输入表函数名(API Name),并将其移位。 K*i CZ {,xH WNa
3.打乱文件结构:利用跳转(JMP),打乱文件原有结构。
4.修改入口点:将文件的入口点加1。 o:Ci Kg~Kn[
5.修改PE段:将PE段移动到空白位置 .poE)V![6J#l3n
二、被动免杀
1.修改特征码:用一些工具找出特征码并针对特征码做免杀处理。
2.用Vmprotect:使用Vmprotect加密区段。
3.文件加壳:可以用一些比较生僻的壳对木马文件进行保护。 4b }_%FLD
有的朋友看到这里有可能蒙了,PE、Vmprotect、入口点……这些都是什么意思啊?不要着急,以后我会一一介绍的....
页:
[1]