安全矩阵

 找回密码
 立即注册
搜索
查看: 2208|回复: 0

远控免杀专题(21)-HERCULES免杀(VT免杀率14/56)

[复制链接]

991

主题

1063

帖子

4315

积分

论坛元老

Rank: 8Rank: 8

积分
4315
发表于 2020-3-8 09:18:22 | 显示全部楼层 |阅读模式
本帖最后由 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语言。
golang的安装可以参考这里https://github.com/golang/go/wiki/Ubuntu

2.2安装HERCULES

先从Github上克隆到本地
  1. https://github.com/EgeBalci/HERCULES
复制代码
安装依赖
  1. go get github.com/fatih/color
复制代码
执行安装
  1. go run Setup.go
复制代码
安装成功
  1. 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

3、执行时路径配置
在执行时可能还会遇到一个这种错误
  1. ./HERCULES: line 4:  cd: SOURCE: No such file or directory
  2. ./HERCULES: line 5:  ./HERCULES: No such file or directory
复制代码

这时需要配置一个变量$HERCULES_PATH,也就是HERCULES的目录
  1. export HERCULES_PATH=/root/sec/HERCULES
复制代码

4、生成后门出错
在使用HERCULES生成后门文件时,可能遇到一个imported错误
  1. [*] export GOOS=windows && export GOARCH=386 && export GOPATH=$HERCULES_PATH && go build -ldflags "-H windowsgui -s -w" test1.go

  2. ./hack.go:7: imported and not used: "EGESPLOIT/RSE"
复制代码
这个时候需要配置一个变量$GOPATH
  1. 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杀毒静态查杀预警,火绒没提示。


可过火绒的静态和动态检测


virustotal.com上查杀率为29/70

五、HERCULES小结

HERCULES免杀原理相对简单,对payload添加无用代码和多次跳转的方式进行免杀处理,从实际测试来看免杀效果只能说是一般,据官方演示在2017年的时候免杀效果应该很棒。可以对其免杀代码进行定制化修改,做成自己轮子工具,别往virustotal.com上传,这样被查杀概率也会小一些。


六、参考资料


官方github:https://github.com/EgeBalci/HERCULES



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-27 23:37 , Processed in 0.013517 second(s), 19 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表