远控免杀专题(21)-HERCULES免杀

转载: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

发布了203 篇原创文章 · 获赞 19 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_41683305/article/details/105182678