转载:https://mp.weixin.qq.com/s/Rkr9lixzL4tiL89r10ndig
免杀能力一览表
几点说明:
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目标主机上的杀软就足够了。
一、HERCULES介绍
HERCULES,2017年的免杀工具,可以直接生成msf可用的payload并进行免杀,也可以对自定义payload进行免杀,还可以进行后门文件捆绑,并可进行upx加壳,使用比较简单,但安装可能遇到不少问题。
二、安装HERCULES
2.1 安装前的准备
HERCULES对操作系统有一定要求,支持下面这些系统。
另外HERCULES是go语言编写,需要安装go语言。
golang的安装可以参考这里https://github.com/golang/go/wiki/Ubuntu
2.2 安装HERCULES
先从Github上克隆到本地
https://github.com/EgeBalci/HERCULES
安装依赖
go get github.com/fatih/color
执行安装
go run Setup.go
安装成功
在HERCULES目录下执行chmod +x HERCULES
然后执行./HERCULES,看到下面的界面说明安装成功
2.3 安装可能遇到的问题
1、操作系统版本不符
安装脚本setup.go里面对操作系统要求比较严,版本号不符合都不行。
我开始用的parrot 4.4的,它要求必须3.1。当然你可以换个符合的操作系统,也可以修改setup.go文件,不过后面的有些依赖。
2、执行时出错
安装成功后执行./HERCULES,提示[!] HERCULES is not installed properly, please run setup.sh
这个问题比较模糊,需要先删除HERCULES/SOURCE/HERCULES文件,再回到HERCULES目录下再次安装go run Setup.go。记得重新安装前删掉HERCULES/SOURCE/HERCULES文件。
3、执行时路径配置
在执行时可能还会遇到一个这种错误
./HERCULES: line 4: cd: SOURCE: No such file or directory
./HERCULES: line 5: ./HERCULES: No such file or directory
这时需要配置一个变量$HERCULES_PATH,也就是HERCULES的目录
export HERCULES_PATH=/root/sec/HERCULES
4、生成后门出错
在使用HERCULES生成后门文件时,可能遇到一个imported错误
[*] export GOOS=windows && export GOARCH=386 && export GOPATH=$HERCULES_PATH && go build -ldflags "-H windowsgui -s -w" test1.go./hack.go:7: imported and not used: "EGESPLOIT/RSE"
这个时候需要配置一个变量$GOPATH
export GOPATH=/root/go
三、HERCULES使用说明
HERCULES也是和msf无缝对接的免杀工具,免杀相对也比较简单一些,具体免杀的实现可以查看HERCULES/src/EGESPLOIT/RSE/BypassAV.go文件,使用了传统的添加花指令的方式进行免杀。
另外还使用了upx加壳进行保护等。
四、利用HERCULES生成后门
执行./HERCULES,选择1,生成payload
进入选择payload的界面,选择最常规的Meterpreter Reverse TCP,也就是1.
后面输入主控的IP和端口,还有询问是否添加后门可持续化、进程迁移、BYpass等功能,然后输入生成文件的名称test3,最后选加upx壳。
每个选择都需要确认一次
最终生成
测试机执行可正常上线
打开杀软进行测试,360杀毒静态查杀预警,火绒没提示。
可过火绒的静态和动态检测
五、HERCULES小结
HERCULES免杀原理相对简单,对payload添加无用代码和多次跳转的方式进行免杀处理,从实际测试来看免杀效果只能说是一般,据官方演示在2017年的时候免杀效果应该很棒。可以对其免杀代码进行定制化修改,做成自己轮子工具,别往virustotal.com上传,这样被查杀概率也会小一些。
六、参考资料
官方github:https://github.com/EgeBalci/HERCULES