msf stagers开发不完全指北(二) (2)

这里的 windows api 使用的声明如下

var ( kernel32 = syscall.MustLoadDLL("kernel32.dll") ntdll = syscall.MustLoadDLL("ntdll.dll") virtualAlloc = kernel32.MustFindProc("VirtualAlloc") RtlCopyMemory = ntdll.MustFindProc("RtlCopyMemory") )

这里其实你也可以使用 x/windows 库方便使用。

结果展示

msf stagers开发不完全指北(二)

64位编译出来 1.73M,通过 upx 压缩后 616kb,32位编译出来会更小

执行试试

msf stagers开发不完全指北(二)

msf stagers开发不完全指北(二)

监听 payload windows/x64/meterpreter/reverse_tcp ,可以看到成功上线

注意事项

可能因为 Golang 版本不一致,这个结构有所更改,请自行考证一下,主要原因是非导出字段,官方是不保证向下兼容性的

依然需要注意位数的差异,比如32位的payload请使用32位编译,64位payload使用64位编译

成果源码

成果源码我就不贴出来了,其实也是这些代码组合在一起

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyzpdy.html