
Carregador de shellcode em Go que combina múltiplas técnicas de evasão
Hades é um loader de prova de conceito que combina várias técnicas de evasão com o objetivo de contornar os mecanismos defensivos comumente usados por AV/EDRs modernos.
A maneira mais fácil é provavelmente construir o projeto no Linux usando make.
git clone https://github.com/f1zm0/hades && cd hades
make
Depois você pode levar o executável para um host Windows x64 e executá-lo com .\hades.exe [options].
PS > .\hades.exe -h
'||' '||' | '||''|. '||''''| .|'''.|
|| || ||| || || || . ||.. '
||''''|| | || || || ||''| ''|||.
|| || .''''|. || || || . '||
.||. .||. .|. .||. .||...|' .||.....| |'....|'
version: dev [11/01/23] :: @f1zm0
Usage:
hades -f <filepath> [-t selfthread|remotethread|queueuserapc]
Options:
-f, --file <str> shellcode file path (.bin)
-t, --technique <str> injection technique [selfthread, remotethread, queueuserapc]
Injetar shellcode que inicia calc.exe com a técnica queueuserapc:
.\hades.exe -f calc.bin -t queueuserapc
Bypass de hooking em modo de usuário com ordenação RVA de syscall (NtQueueApcThread interceptado com frida-trace e manipulador personalizado)

Bypass de callback de instrumentação com syscalls indiretas (DLL injetada é do syscall-detect por jackullrich)

Na versão mais recente, as capacidades de syscall direta foram substituídas por syscalls indiretas fornecidas por acheron. Se por algum motivo você quiser usar a versão anterior do loader que usava syscalls diretas, você precisa passar explicitamente a tag direct_syscalls para o compilador, que descobrirá quais arquivos precisam ser incluídos e excluídos da construção.
GOOS=windows GOARCH=amd64 go build -ldflags "-s -w" -tags='direct_syscalls' -o dist/hades_directsys.exe cmd/hades/main.go
Aviso
Este projeto foi criado apenas para fins educacionais, para experimentar o desenvolvimento de malware em Go e aprender mais sobre o pacote unsafe e a estranha sintaxe do Go Assembly. Não o utilize em sistemas que você não possui. O desenvolvedor deste projeto não se responsabiliza por qualquer dano causado pelo uso inadequado desta ferramenta.
Agradecimentos às seguintes pessoas que compartilharam seu conhecimento e código que inspiraram esta ferramenta:
Este projeto é licenciado sob a Licença GPLv3 - veja o arquivo LICENSE para detalhes