刺球网络安全社区

 找回密码
 立即注册

新浪微博登陆

只需一步, 快速开始

QQ登录

只需一步,快速开始

搜索
查看: 606|回复: 0

木马免杀的两个小技巧

[复制链接]

 成长值: 215051

新浪微博达人勋

  • TA的每日心情

    2018-11-15 03:32
  • 签到天数: 18 天

    [LV.4]偶尔看看III

    1128

    主题

    1709

    帖子

    38万

    积分

    管理员

    技术指数:★★★★★

    Rank: 9Rank: 9Rank: 9

    积分
    382674

    社区QQ达人最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

    QQ
    发表于 2017-2-27 09:06:54 | 显示全部楼层 |阅读模式

    最近,有许多人反映说木马免杀越来越困难了,看来似乎是杀毒软件越来越牛了呀!于是,本人就本着“互助”和“共享”的精神将自己学习时总结出的两个免杀的小技巧告诉大家!

    一、巧妙定位避免另类特征码

    一般来说,定位特征码是免杀中必不可少的一步,但目前免杀时却经常会定位出一些无法更改的另类特征码,导致免杀很难继续进行。其实,我们只要在定位时做一些小小的设置就可以避免这类问题了。

    我们先使用multiCCL(对于定位的工具,我推荐大家使用multiCCL,因为MyCCL定位时经常会进入死循环,而且定位出的特征码也不一定正确,而multiCCL就不会出现这样的错误)载入文件,按程序提示进行操作,到参数修改时按Y进入参数修改。先将“Exceptl”后面的内容更改为“H_00000000_00000400_00000000_00000000_”,再将“ExceptTotal=0”更改为“ExceptTotal=1”。其中00000400就是要定位木马的程序开始位置(也就是使用lordPE载入后第一个区段的文件偏移地址,这一位置一般来说都是400的,不过建议各位大家还是在修改之前先使用lordPE查看一下),这里也就是指将文件偏移000至400这一段代码(PE头)进行保护,在定位时不对这一段当中出现的特征码进行定位,而只定位出其它位置的特征码,因为这一段的代码基本上是很难进行免杀处理的。而“ExccptTotal”指的就是要进行保护的特征码的段数,在这里我们只设置了一段,当然也就是填“1”了。保存后开始定位,就不会再有特征码被定位在文件头了。

    201702271488176017588875.jpg

    说到这里,可能有人要问了:“那我们不修改被保护段中的特征码不会对免杀产生影响吗?”当然不会了,因为杀毒软件判断一个文件是否为病毒,并不是单一以一个特征码来作为判断依据的,就如警察不可能单凭一人长得像罪犯而就将其定罪一样,杀毒软件是根据多个特征来确定病毒的。比如有一个木马被杀毒软件定位了A、B、C、D这四个特征码,但绝不是只要出现其中一个特征码就判断其为病毒,而是要出现其中的三个甚至是全部出现才会被认定为病毒。因此,当我们将A特征码所在区域定位保护段后,multiCCL依然会定位出B、C、D这三处特征码,并且我们只需要修改这三处特征码就可以达到免杀的效果了。

    就像我们前面所说的,由于目前PE头当中的特征码很难修改,所以我们在定位时将其作为保护区段而不对其定位,这样再次定位得到的特征码就不会再出现在PE头当中,而是出现另外几处特征码,我们也只需要对那几处特征码进行修改就可以达到免杀的效果了。当然,这个方法是不能乱用的,如果加入保护区段的特征码太多,而不进行保护的太少,那么multiCCL是无法定位出特征码的,因为如果填充的特征码过少,杀毒软件还是会报毒的!

    二、灵活运用加密算法免杀特征码

    对于XOR加密特征码的免杀方法相信大家早有所耳闻了,具体的免杀方法在此我就不多说了,大家可以从网上找到。我先对XOP的加密免杀进行一次更详细的解释,因为有不少人对加密的具体原理有点儿似懂非懂(我原来也是这样的)。

    首先要说明的是,XOR是位异或运算,也就是说,XOR是指将8位的16进制密匙与所需加密代码统统转为2进制数据,然后再逐一进行“同则为O,异则为1”的异或运算。比如我使用的密匙为“19920529”,而加密的代码为“92502991”,那么当进行XOR运算时,程序会把密匙转变为2进制的“11001100100100000010100101001”,再与代码段转为2进制后的“10010010010100000010100110010001”进行异或运算,然后再将结果转为16进制存放在程序中。按照这个原理,我们不难想到其它的一些加密方法,在此我就以“add -sub”(add为加,sub为减)加密方法为例来给大家介绍。

    首先使用OD载入文件,在一空白区写入加密代码,其中的“add eax,19920529”就是我们的加密代码了,意思为把eax寄存器中的数据(特征码)加上“19920529”。这里需要大家注意的是,如果所加数据过大,使得结果位数发生了变化,那么OD就会弹出提示,此时我们只要将密匙数据适当的改小一点就行了。

    接下来我们只需要像使用XOR算法加密特征码那样将文件保存,更改入口点,再次载入跟踪,将加密后的数据记录下来,使用C32Asm载入文件后在其对应物理地址处进行修改。因为方法与XOR相似,所以我就不多说了。

    完成以上的步骤后,我们再使用OD载入文件,来到加密代码处,将其中的“add eax,19920529”更改为“sub eax,19920529”,也就是将eax寄存器中的数据减去“19920529”,一加一减不就又回到原点了吗?好了,我们将文件保存后测试运行看看,大功告成了!






    楼主热帖
    回复 天涯海角搜一下: 百度 谷歌 360 搜狗 搜搜 有道 谷粉 雅虎 必应 即刻

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

    本版积分规则

    
     
     
    技术支持
    点击这里给我发消息
    在线客服
    点击这里给我发消息
    点击这里给我发消息
    刺球网安群①:
    刺球网安社区交流群①
    在线时间:
    8:30-21:00
     

    刺球网安 渝公网安备 50011402500080号 ( 渝ICP备15001097号-1 )申请友链|小黑屋| 刺球网络安全社区

    GMT, 2018-12-15 01:51 , Processed in 0.257886 second(s), 47 queries , Gzip On.

    Powered by 刺球网安

    © 2014-2025

    快速回复 返回顶部 返回列表