GoPhantom是一个为红队演练和安全研究设计的下一代荷载加载器(Payload Loader)生成器。它利用Go语言的强大功能,将原始的Shellcode和一个诱饵文件打包成一个独立的、具有较强免杀(AV-Evasion)能力的Windows可执行文件。
核心功能
加密与混淆
- 多层加密: XOR + zlib压缩 + AES-256-GCM三重保护
- 动态密钥派生: 使用Argon2id从随机Salt派生AES-256密钥,密钥本身永不存储
- Shellcode变异: 可选的代码变异功能,插入无害NOP指令破坏静态特征
- 睡眠混淆: 程序睡眠期间使用随机密钥加密内存荷载,规避内存扫描
免杀技术
- 内存权限分离: 采用RW→RX内存操作模式,规避EDR行为检测
- 反沙箱检测: 通过CPU核心数、物理内存、VM注册表等多维度检测分析环境
- 动态API解析: 避免静态导入表暴露敏感API调用
- 行为伪装: 执行前模拟正常程序行为模式
实用功能
- 诱饵文件: 支持PDF、图片、文档等格式,提高社工攻击成功率
- 数据压缩: zlib压缩可减少20-30%的文件体积
- 自毁机制: 执行后自动清理痕迹
- 纯Go实现: 无CGO依赖,保证跨平台编译兼容性
使用方法
环境要求
- Go 1.19或更高版本
- 支持交叉编译到Windows平台
快速开始
- 克隆本仓库到你的本地机器:
git clone https://github.com/watanabe-hsad/GoPhantom.git
cd GoPhantom
- 准备测试文件:
- 将shellcode文件(如beacon.bin)放入项目目录
- 准备诱饵文件(如document.pdf)
- 生成加载器:
# 源码方式
go run generator.go -decoy "info.txt" -payload "calc_x64.bin" -out "hello.exe"
# 二进制方式
./GoPhantom-v1.3 -decoy "info.txt" -payload "calc_x64.bin" -out "hello.exe"
使用模式
简单模式(默认) 程序自动生成随机Salt,每次生成唯一加载器:
./GoPhantom-v1.3 -decoy "info.txt" -payload "calc_x64.bin" -out "hello.exe"
可复现模式(高级) 指定固定Salt,实现可复现构建:
export GOPHANTOM_SALT="your-base64-salt-here"
./GoPhantom-v1.3 -decoy "info.txt" -payload "calc_x64.bin" -out "reproducible.exe"
执行效果
在目标Windows机器上执行生成的loader:
- 自动打开诱饵文件转移注意力
- 后台静默执行shellcode荷载
项目地址:https://github.com/watanabe-hsad/GoPhantom
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)