Hades:一款整合了多种规避技术的Go Shellcode加载器
2023-6-23 09:2:32 Author: FreeBuf(查看原文) 阅读量:20 收藏

 关于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



文章来源: http://mp.weixin.qq.com/s?__biz=MjM5NjA0NjgyMA==&mid=2651229161&idx=4&sn=4b330ca219d8ec75834c7c082e926795&chksm=bd1d19628a6a9074f311fe7f89393139b1411aa5a99c2778489590b33ad1206f751f1b19fa8d#rd
如有侵权请联系:admin#unsafe.sh