声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!
文章打包下载及相关软件下载:
免杀能力一览表
几点说明:
1、上表中标识 √ 说明相应杀毒软件未检测出病毒,也就是代表了Bypass。
2、为了更好的对比效果,大部分测试payload均使用msf的模块生成。
3、由于本机测试时只是安装了360全家桶和火绒,所以默认情况下360和火绒杀毒情况指的是静态+动态查杀。360杀毒版本(2020.01.01),火绒版本(2020.01.01),360安全卫士(2020.01.01)。
4、其他杀软的检测指标是在(简称VT)上在线查杀,所以可能只是代表了静态查杀能力,数据仅供参考,不足以作为免杀或杀软查杀能力的判断指标。
5、完全不必要苛求一种免杀技术能bypass所有杀软,这样的技术肯定是有的,只是没被公开,一旦公开第二天就能被杀了,其实我们只要能bypass目标主机上的杀软就足够了。
一、InstallUtil.exe介绍
InstallUtil.exe算是免杀白名单里使用比较多的一个了,InstallUtil.exe可以用于安装有.NET开发的所有应用安装程序,如果要使用 .NET Framework 开发 Windows 服务,则可以使用installutil.exe命令行快速安装服务应用程序。
metasploit自带的evasion免杀模块,就提供了来直接创建InstallUtil.exe可加载的payload,详见远控免杀专题文章(4)-Evasion模块免杀(VT免杀率12/71):
另外,专题20里的GreatSCT也提供了基于InstallUtil.exe的免杀:
二、使用CSC+InstallUtil执行shellcode(VT免杀率33/71)
用的比较多的是CSC.exe+InstallUtil.exe加载shellcode,流程为:msf生成C#格式shellcode -> 加密shellcode -> 解密并加载shellcode -> csc.exe编译成.jpg文件 -> InstallUtil.exe白名单执行。之前backlion师傅和亮神都介绍过这种方法。
先通过msfvenom生成C#的shellcode
下载InstallUtil-Shellcode.cs
将上面生成的shellcode复制到文件中。
使用csc编译InstallUtil-ShellCode.cs
编译生成的shell.exe直接执行是不行的,需要使用InstallUtil.exe来触发。
使用InstallUtil.exe执行shell.exe,360安全卫士会检测到InstallUtil.exe执行预警,360杀毒和火绒动态和静态均无预警。
msf中可上线
virustotal.com中shell.exe文件33/71个报病毒,这个有点出乎意料。
三、GreatSCT中基于InstallUtil的payload(VT免杀率3/68)
之前我写的专题20里的GreatSCT也提供了基于InstallUtil.exe的免杀:,从中提取出了一种cs代码,如下。只需要替换最后的ip和端口就可以。
我尝试使用csc.exe进行x86编译出错,于是使用了x64编译,生成
生成的是无法直接执行的,需要使用InstallUtil.exe进行加载。
msf中使用payload,可正常上线。
virustotal.com中shell.exe文件3/68个报病毒
四、参考资料
InstallUtil&csc.exe-bypass application whitelisting:
csharp 编译文件绕过防病毒软件利用手法分析:
领取专属 10元无门槛券
私享最新 技术干货