Hades:一款整合了多种规避技术的Go Shellcode加载器

新闻资讯   2023-07-02 09:04   105   0  


 关于Hades 


Hades是一款整合了多种规避技术的Go Shellcode加载器,当前版本的Hades只是一个概念验证程序,旨在帮助广大研究人员尝试绕过流行AV/EDR的安全防御机制,并以此来验证安全防护产品的能力。


 工具要求 


由于该工具基于Go语言开发,因此我们首先需要在本地设备上安装并配置好最新版本的Go环境。

接下来,广大研究人员可以使用下列命令将该项目源码克隆至本地,并使用make命令在Linux操作系统上完成项目代码构建:

git clone https://github.com/f1zm0/hades && cd hades
make


 工具使用 


接下来,我们就可以将生成的可执行文件拷贝到x64 Windows主机中,并使用下列命令来运行Hades:

.\hades.exe [options]

我们可以使用-h选项来查看工具的帮助信息:


PS > .\hades.exe -h


'||' '||' | '||''|. '||''''| .|'''.|
|| || ||| || || || . ||.. '
||''''|| | || || || ||''| ''|||.
|| || .''''|. || || || . '||
.||. .||. .|. .||. .||...|' .||.....| |'....|'


version: dev [11/01/23] :: @f1zm0


Usage:
hades -f <filepath> [-t selfthread|remotethread|queueuserapc]


Options:
-f, --file <str> Shellcode文件路径(默认.bin)
-t, --technique <str> 要使用的注入技术,包括[selfthread, remotethread, queueuserapc]


 工具使用样例 


使用queueuserapc技术注入Shellcode并执行calc.exe:

.\hades.exe -f calc.bin -t queueuserapc


 工具使用演示 


使用系统调用RAV排序绕过用户模式钩子(NtQueueApcThread挂钩frida-trace自定义Handler):


使用间接系统调用实现指令回调绕过(注入的DLL来源于jackullrichsyscal-detect):


 杂项-直接系统调用版本 


在最新发布版本中,直接系统调用功能被替换成了acheron提供的间接系统调用。出于某些原因,你可能想要使用之前的加载器版本(使用直接系统调用),那么你需要显式地将direct_syscalls标签传递给编译器,编译器将决定在构建过程中需要包含或排除哪些文件:


GOOS=windows GOARCH=amd64 go build -ldflags "-s -w" -tags='direct_syscalls' -o dist/hades_directsys.exe cmd/hades/main.go

 许可证协议 


本项目的开发与发布遵循GPL-3.0开源许可证协议。


 项目地址 


Hadeshttps://github.com/f1zm0/hades



https://github.com/f1zm0/acheron
https://pkg.go.dev/unsafe
https://go.dev/doc/asm
https://frida.re/
https://github.com/f1zm0/hades/blob/main/scripts/NtQueueApcThread.js
https://docs.microsoft.com/enus/windows/win32/api/processthreadsapi/nf-processthreadsapi-queueuserapc



文章引用微信公众号"FreeBuf",如有侵权,请联系管理员删除!

博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。