免杀,顾名思义就是说避免被杀毒软件查杀! 免杀的方法也有很多种,针对不同的情况我们运用不同的免杀方法。 ⒈文件免杀:加花/修改文件特征码/加壳/修改加壳后的文件。 ⒉内存免杀:修改特征码。 ⒊行为免杀。 现在我来揭开免杀神秘的面纱。(这里不对免杀做深入讨论,只对原理进行分析,毕竟这不是黑客教程) 加花 加花是病毒免杀的常用手段,加花原理就是通过添加加花指令(一些垃圾指令,类似加1减1之类的无用语句)让杀毒软件检测不到特征码。加花可以分为加区加花和去头加花。(只做了解,不做解释) 特征码修改 加花以后一些杀毒软件就认不出来了,但有些比较强的杀毒软件,像卡巴斯基这类,可能还是会被杀,这时就要定位特征码修改了,要修改特征码,就要先定位杀毒软件的病毒库所定位的特征码,这个有一定难度,特别是复合特征码的定位,但复合特征码虽然增加了定位特征码的难度,但复合特征码也有它的弱点,因为定义复合特征码需要单个特征码几倍的病毒库,不方便用户的病毒库升级,所以除了特别流行的病毒,杀毒软件厂商并没有做太多的复合特征码。 定位了特征码之后就应该修改特征码了,主要方法有两种:直接修改法,跳转修改法。 直接修改法利用的是等效指令替换,或者指令顺序的改变不影响执行的效果。还有一种是如果特征码是ASCll码,可以直接修改大小写,大写替换小写,小写替换大写。 跳转修改发比较简单,主要原理是把有特征码的那段NOP掉,然后把NOP掉的那段语句写入空白的0000区,在通过JMP跳转连接起来,让杀毒软件找不到特征码,从而达到免杀的目的。 加壳 加壳的原理是给原程序加上一段保护程序,有保护和加密功能,运行加壳后的文件先运行壳再运行真实文件,从而起到保护作用。 脱壳当然就是去掉保护程序 想要加壳后能达到免杀的效果 那就要加最新的免杀壳 一。免杀1。最简单的:加壳Svkp,Pelock,Telock,Asprotect等等牛壳,或者一些私人壳如免役007之类的,虽然方便,但免杀效果不一定好,因为现在杀毒会把壳的特征当病毒或者把加壳后的特征也收录,而且加壳的不能用于内存代码注射2。手工免杀用CCL 一类的定位工具定位出特征码,不同的杀毒的特征录入是不一样的,而且不止一处,所以免杀是体力活;然后逐一修改定位出来的特征码,例如修改入口(代码),插垃圾代码(最简单的就是狂插nop),定位,指令的等效交换,修改字串,call或jmp的多次跳转,移动输入,输出,重定位表,强改pe结构,SMC (代码自修改)大法等等,根据不同类型的指令有不同的修改法,baidu,google是最好的老师;3。封装自己写个外壳,把黑洞服务端封装起来,在这个外壳里,你可以完成注册服务,注射进程等等你想到的安装功能,只要完成安装,然后把黑洞的服务端在内存运行,就可以上线了;这样的话杀毒查到的只是外壳文件而不是黑洞本身的服务端,省了一大堆的免杀工作,就算外壳被杀,你只要在代码里加点垃圾代码打乱一下原有的16进顺序,就可以免杀了,前提是你会编程二。过主动防御1。修改时间,这个只能过咔吧的主动防御,而且现在有360的时间补丁,咔吧失效也会有提示框,提示声音;方法很多,批处理,vbs,写封装外壳的时候加进去;2。模拟点击,也是针对特定的主动防御,处理静音,找到警告窗体的句柄,按钮等,然后sendmessage去点击它同意运行,缺点是不同版本,系统语言不同的时候句柄按钮都不同,要写很多的判断,而且有人说新的咔吧好象拦截了这种向它发送的信息3。恢复SSDT恢复SSDT上主动防御挂钩的函数(用icesword查看一下SSDT表就明白了),就是脱钩,因为主动防御是挂钩那些函数来捕获消息的,脱钩后主动防御完全接收不到黑洞或者系统所有的消息,等于瞎了聋了,自然也就不能对黑洞的动作做出判断或者提示,所以你想干什么都可以了还有一种就是你也去挂钩底层函数,修改函数入口跳转,过滤掉你的消息后再跳回来,咔吧也就看不到你的动作了这种方法要求系统底层编程,要写驱动的4。感染文件启动万不得以的方法,感染文件然后在文件启动的时候完成黑洞的启动,然后才启动原来的文件,需要对抗咔吧的文件检查,完整性检查,系统的WFP,SFC,DEP等等,而且文件加壳的情况也要考虑a。经典感染方式pe感染都一样的,都是添加代码,然后修改入口为你添加代码的开始,执行完添加的代码后跳回原入口特点:宿主体积会增加,入口会改变等等蛛丝马迹,但感染后还是完整的(相对b来说);b。添加导入函数方式添加一个导入函数,宿主会主动加载你的dll;特点:比较隐蔽,宿主体积和入口可以不变,但宿主是不完整的,没你的dll跑不起来PS:以上的感染都是技术要求比较高的感染,而且现在最麻烦的就是dep保护,没有很好的解决方法。c。现在流行的方式,写个stub,把宿附加到它后面,替换原文件;特点:技术要求低,目前很多XX加壳就是这样写的,称为非经典壳,更接近捆绑工具,在自己写的stub里想干什么都可以,甚至带个图标,例如烧香的熊猫:营销软件验证页面99zhizhuowz99营销软件验证页面 ---------------------