本帖最后由 gclome 于 2020-3-8 10:07 编辑
远控免杀专题(21)-HERCULES免杀(VT免杀率14/56)
该文章转自Tide安全团队
声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!
免杀能力一览表
几点说明:
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对操作系统有一定要求,支持下面这些系统。 操作系统 | Version | Ubuntu | 16.04 / 15.10 | Kali linux | Rolling / Sana | Manjaro | * | Arch Linux | * | Black Arch | * | Parrot OS | 3.1 |
另外HERCULES是go语言编写,需要安装go语言。
2.2安装HERCULES
先从Github上克隆到本地 - https://github.com/EgeBalci/HERCULES
复制代码安装依赖- go get github.com/fatih/color
复制代码 执行安装
安装成功 在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
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
三、HERCULES使用说明
HERCULES也是和msf无缝对接的免杀工具,免杀相对也比较简单一些,具体免杀的实现可以查看HERCULES/src/EGESPLOIT/RSE/BypassAV.go文件,使用了传统的添加花指令的方式进行免杀。 另外还使用了upx加壳进行保护等。
四、利用HERCULES生成后门 执行./HERCULES,选择1,生成payload
进入选择payload的界面,选择最常规的Meterpreter Reverse TCP,也就是1.
后面输入主控的IP和端口,还有询问是否添加后门可持续化、进程迁移、BYpass等功能,然后输入生成文件的名称test3,最后选加upx壳。
每个选择都需要确认一次
最终生成 测试机执行可正常上线
打开杀软进行测试,360杀毒静态查杀预警,火绒没提示。
可过火绒的静态和动态检测
virustotal.com上查杀率为29/70
五、HERCULES小结
HERCULES免杀原理相对简单,对payload添加无用代码和多次跳转的方式进行免杀处理,从实际测试来看免杀效果只能说是一般,据官方演示在2017年的时候免杀效果应该很棒。可以对其免杀代码进行定制化修改,做成自己轮子工具,别往virustotal.com上传,这样被查杀概率也会小一些。
六、参考资料
官方github:https://github.com/EgeBalci/HERCULES
|