危险漫步博客
新鲜的“黑客思维”就是从全新的角度看待黑客技术,从更高的层面去思考;专注于黑客精神及技术交流分享的独立博客。
文章2306 浏览20581388

360抗干扰之曲折定位

现在提起免杀,最多的杀软就是360了,没办法,谁让360在中国用户最多呢,今天,危险漫步用两篇文章实战,分别演示定位和修改360,让大家知道其实免杀真的不是多难,360杀毒好办,难办的是安全卫士,这里对安全卫士不讨论,只说360的五引擎。

本文用的远控,白名单空的,病毒库最新,个人认为,其实现在来说免杀360最简单的方法是源码,其次是无特征,定位360引擎是最难的,因为干扰太多,这里说的无特征绝不是加个壳子,写个花那么低级的东西,一样的道理,你学源码如果只会那几个方法,处理字符串,输入表那也是没用的,没有没用的方法,只不努力的人。

本文主要讲解破解干扰的思路,首先断网定位是最基本的了,其他还有什么清理查杀记录,清理隔离恢复区都不必说,还有人说在主机生成,放进虚拟机查杀,杀出来手动删除,都有一定的道理,本人的方法是虚拟机中装完杀毒软件后,设置一个快照,就是相当于一键还原,每次做完免杀都还原,一段时间杀软升级之后重新设置快照,因为我发现即使清理查杀记录,清理隔离恢复区,好像还是会随着扫描次数的增多然后干扰加重,不如我这样,我这样相当于每次做免杀的时候,杀软都是新装的。

断网的方法,右键点击那个绿色小方框,然后点击断开连接。

定位的时候肯定是一个一个引擎来定位,然后顺序是断网云,QVM,BD,联网云,由于360默认是BD,我这里就不做红伞了,说实话红伞有时也比较麻烦。

前面的预处理就是那些啊,自己看着弄,人口点变异,优化PE,重建输入表后在c32删除以前的输入表,添加花指令,添加一些垃圾资源,换下版权啊图标,修改下MD5值。

当然说实话这些效果现在都不太明显,源码的预处理最明显了,在源码中区段合并,源码里添加花指令,改掉版权,资源,处理敏感字符串,都挺有用的。

然后就是定位了,我今天这款远控,断网云和QVM是过的BD杀。

一般来说只要BD杀,特征之一肯定要有一个是入口点,先进入OD将入口点填充后再扫描。

这里大家要知道,一旦更改一处后感染型变了,那就证明你改的那处确实是特征,但是仍存在别的特征。

然后用PEtools载入木马,最好是将木马备份一下,压缩一个放进压缩包里,好习惯,每做一步就备份一次,载人后点击区段,右键选中text,选择填充区段,然后随便用什么都行,我这里是00。

然后扫描发现不杀,所以可以判定,其他的特征都在text段,然后用myccl定位text段,然后生成的分块发现全杀了,这个肯定是死循环了,大部分人到这里都卡住了,我先来说说我的经验吧,这种现象为什么会产生呢?

首先,360的查杀机制和以前的杀软不一样,以前的杀软是定位几个特征,只要存在任意一个都杀,而360则不是,360采取的是一种积分制,每个特征有不同的分值,加在一起超过一个指定的数值才会报毒,就比如四个特征,然后一个59分,领完三个中有一个1分,其他两个20分,只要到60分就报毒,那么只要第一个配其他三个的任意一个都会报毒,但如果第一个被修改掉,剩下三个就不报了,这也是为什么现在特征码免杀时间都很短,因为积分制,分数只要一不到60分就不杀了,剩下的特征根本无法定位,你就算免杀了,其实还是有特征的,很容易被发现,这种查杀机制首先肯定是能降低误杀率。

然后最主要的,它能干扰myccl,myccl的工作原理是分块填充,比如把文件分成100块,第一个填充除第一块以外的所有,第二个填充除第二块以外的所有,按照以前的杀软,哪块被杀,哪块自然就有特征,而360则不然,假设360将文件定义为全身上下每过500字节就有一个特征,同时出现10个特征就会报毒,那么如果分块的每一块大小大于5000字节,那么每块都会被杀。

这种情况确实有,但是我们还是有应对的方法的,360不可能真的把每个特征的分值都弄得一样,说到底还是误杀率的问题,所以还有高分值的存在,那么我们怎么发现昵,这里就得借助C32了,手动至少先找出一条,其他的就好办了。

首先跳到1000处然后右键定义选择块,选中大小为16进制的F800,是text段大小1F000的二分之一。

然后右键选中填充,注意这里不要用一个值,选中随机值。

填充发现不杀,那么接着填充F800的一半,7C00,选中1000到7C00填充,如果不杀,则定位7COO的一半,还杀就填充8C00到F800的部分,以此类推,最后发现,从1000开始填充2000的大小就不杀了,这个范围就已经够小了,我们来定位。

扫描杀了96个,我们分了100块,只要不全杀就可以定位,二次处理后再次扫描,却发现杀了95个,这个不用看又进了死循环了,如果继续定位,下次会杀94个,下下次会杀93个。。。一直这么持续,让人抓狂,出现这种问题的主要原因就是干扰了,结合360查杀机制和MYCLL定位原理,我推测是这样的,如果一共有八处特征,我们只留下了一处,其他都填充了,按理说分值不够,就不应该报毒了,但是360很变态,如果它发现其他七处都是00或者90什么的,一看就是填充数据,就开始干扰,我这种推测是有根据的。

这时我们先去看看第一次第一次杀了96块后生产的特征。

1144离1000很近,这里我们就知道,前面很近的地方存在特征,就要继续缩小范围,这时我们要做的是进入C32,将1000到2000的内容填充,发现仍然不杀,这个时候我们就定位1000到2000的大小即可,即从1000开始定位,大小也是1000,后面发现死循环不再出现,定位出特征如下:

特征码物理地址,物理长度如下:

[特征]0000113B_00000001

[特征] 0000IE8E_00000001

[特征] 0000IE96_00000001

这节先说到这里,咱们下篇文章再见。

相关推荐