2015年6月8日,Wei Chen在rapid7官方博客上发文,将于近期移除metasploit-framework版本中的msfencoder和msfpayload,并使用msfvenom取代。官方的msfvenom使用说明戳这里,下面给出翻译的使用说明。
http://www.2cto.com/uploadfile/Collfiles/20150714/20150714102041606.png
最近一次更新的msf中已经去掉了这两个工具,同时,msfcli也即将被移除。
http://www.2cto.com/uploadfile/Collfiles/20150714/20150714102041611.png
kali和BT目前使用的MSF依然是旧版,所以用kali和BT5的小伙伴可以暂时不考虑。在其他平台上编译安装msf的童鞋,可能已经发现这个东西了。
http://www.2cto.com/uploadfile/Collfiles/20150714/20150714102041612.png
msfvenom命令行选项如下:
Options:
-p,
--payload
payload>
指定需要使用的payload(攻击荷载)。如果需要使用自定义的payload,请使用'-'或者stdin指定
-l,
--list
[module_type] 列出指定模块的所有可用资源.
模块类型包括: payloads, encoders, nops, all
-n,
--nopsled
length>
为payload预先指定一个NOP滑动长度
-f,
--format
format>
指定输出格式 (使用 --help-formats 来获取msf支持的输出格式列表)
-e,
--encoder
[encoder]
指定需要使用的encoder(编码器)
-a,
--arch
architecture> 指定payload的目标架构
--platform
platform>
指定payload的目标平台
-s,
--space
length>
设定有效攻击荷载的最大长度
-b,
--bad-chars
list>
设定规避字符集,比如: '\x00\xff'
-i,
--iterations
count>
指定payload的编码次数
-c,
--add-code
path>
指定一个附加的win32 shellcode文件
-x,
--template
path>
指定一个自定义的可执行文件作为模板
-k,
--keep
保护模板程序的动作,注入的payload作为一个新的进程运行
--payload-options
列举payload的标准选项
-o,
--out
path>
保存payload
-v,
--var-name
name>
指定一个自定义的变量,以确定输出格式
--shellest