Hades是一个概念验证加载器,它结合了多种规避技术,旨在绕过现代 AV/EDR 常用的防御机制。
用法
最简单的方法,可能是在 Linux 上使用make
.
git clone https://github.com/f1zm0/hades && cd hades
make
然后您可以将可执行文件带到 x64 Windows 主机并使用.\hades.exe [options]
.
PS > .\hades.exe -h'||' '||' | '||''|. '||''''| .|'''.|
|| || ||| || || || . ||.. '
||''''|| | || || || ||''| ''|||.
|| || .''''|. || || || . '||
.||. .||. .|. .||. .||...|' .||.....| |'....|'version: dev [11/01/23] :: @f1zm0Usage:
hades -f <filepath> [-t selfthread|remotethread|queueuserapc]Options:
-f, --file <str> shellcode file path (.bin)
-t, --technique <str> injection technique [selfthread, remotethread, queueuserapc]
例子:
注入calc.exe
使用queueuserapc技术生成的 shellcode:
.\hades.exe -f calc.bin -t queueuserapc
展示
使用系统调用 RVA 排序绕过用户模式挂钩(NtQueueApcThread
使用frida-trace和自定义处理程序挂钩)
使用间接系统调用绕过检测回调(注入的 DLL 来自jackullrich的syscall-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
免责声明
警告
创建此项目仅用于教育目的,用于在 Go 中试验恶意软件开发,并了解有关不安全包和奇怪的Go 汇编语法的更多信息。不要在您不拥有的系统上使用它。本项目的开发者不对因不当使用本工具而造成的任何损害负责。
📮评论