aes+base64,使用分离加载不用担心原生文件被杀,通过dll调用windows api,实现了直接SyscallN执行shellcode,还有线程注入以及earlybirl注入,还在考虑加入junkcode模块,发现微步识别内存大小检测为反虚拟机技术,就改成了系统语言检测,多因素判断是否在沙箱中,目前效果一般。
1.0
cs stageless生成raw shellcode
首先在main函数中调用encode模块 加密原生shellcode
然后选择使用本地(Original)还是远程(remote)模块,远程模块也是在开启web服务的目录下放置一个加密后的shellcode
1.不注释第11行,输入原生shellcode加密
go run main.go
2.选择加密模式,输入加密后的bin文件go build -ldflags="-s -w" -o 输出exe文件名 main.go
2.0
main.go不注释行10
执行go build -ldflags="-s -w" -o z2zloader.exe main.go
分为encode local remote local_exec模块
local根据生成一个exe加载器,把shellcode和exe放在同目录下运行,需要go环境,生成的加载器小local_exec是直接调用加载器,-f指定shellcode路径即可
比较重要的是local模块
必要参数为f(建议放在同一目录直接输入文件名)
在output目录下找到exe文件
免杀效果
加密后的bin文件
生成的exe过火绒 df 360
上线
360
核晶
火绒
exe沙箱结果
下载
https://github.com/z2zQAQ/go-z2zloader
原文始发于微信公众号(Web安全工具库):go shellcode加载器 免杀火绒 360核晶等主流杀软 -- go-z2zloader
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论