Metasploit官网  原文链接:http://www.freebuf.com/tools/67685.html


1、官网内容很多,但是都是一些英文。

2、有Windows平台的安装,也有Linux平台的。总之就是基于pc的安装。

3、在命令行窗口输入msfconsole可以直接进入Metasploit这个工具的工作环境。

4、Msfconsole的系统文件和用户文件位于/usr/share/metasploit-framework/msfconsole目录下。

5、msf>下,可以help

6、msf>下的各参数解析。

6.1Back参数

Back参数主要用于返回。比如你进入了某一个漏洞模块的设置,但是你想再重新选择一个漏洞模块,那么就需要用到back参数。

这张图说明,才开始我使用了ms08_067_netapi的利用模块,之后使用了back参数返回。

use ms08_067_netapi

back可以返回先前的状态

6.2Banner参数

这个主要是查看metasploit的版本信息,利用模块数量、payload数量等等。

6.3Check参数

事实上,很多的利用模块都不支持这个参数,但是这个参数可以查看到某些利用模块更相信的信息。主要是用于查看利用模块是否可用***目标主机。

6.4Color参数

这个参数主要是设置一些命令行的颜色。没什么实质的作用。

6.5Connect参数

这个参数主要用于远程连接主机。一般用于内网***。比较常用的命令就是“connect 192.168.0.1 8080”。

Connect是参数名称,192.168.0.1是IP地址 8080是端口号。如果大家想查看更详细的connect信息,直接输入connect –h就可以了

6.6Edit参数

这个参数的作用就是编辑当前的模块,主要是编辑$VISUAL或者$EDITOR的代码信息。编辑的时候是使用VIM编辑器进行编辑

6.7Exit参数

这个是退出msfconsole的命令。可以完全退出msfconsole,并且回到linux终端界面。

6.8Info参数

这个参数可以查看所在模块的信息,包括选项、利用条件、漏洞作者、可以利用的payload等等。

这个info有两种用法,第一种是直接在当前的里面模块下输入info,然后回车查看当前模块的信息。第二种是输入info后,再在后面输入模块的编号,然后回车查看模块信息。

6.9Irb参数

这个参数可以进入irb脚本模式,并且执行命令创建脚本。其语言为Ruby。

6.10Jobs参数

这个参数可以查看目前msfconsole上存在哪些任务,并且可以选择结束一些不需要的任务。如果要查看更详细的jobs选项,那么可以直接输入“jobs -h”进行查看。

6.11Kill参数

这个参数主要是配合jobs参数进行使用。如果你使用jobs参数后发现了一些不要的任务,那么使用kill参数就可以终止一些不需要的进程。一般都是kill <jobs编号>。

6.12Load参数

这个参数可以从metasploit的plug库里面加载一些插件。

6.13Unload参数

这个参数可以终止你已经启动的插件。

6.14Resource参数

这个参数可以运行一些资源文件,有些工具,比如说Karmetasploit无线***就很需要这个参数。在后面的文章我会说道怎么使用这个***。

6.15Route参数

Route参数主要是用来当做跳板。这个参数的作用就是做代理转发。在我们大天朝,这个参数很重要啊,难道你希望在旁边高兴的***着,旁边是你心爱的WIFI,突然间就…..

Freebuf里面有人已经写出了如何使用route做跳板的文章,大家可以自己去看看。当然也有网友说道,用这个参数做代理太慢了。实际上大家在做代理的时候要主要,一定要选择离自己国家最近的服务器依次做代理。比如可以选择先拿日本的服务器做跳板,再继续用美国的服务器做跳板。这样可以提高数据包传输的速度。还有一种方法比较高级,就是直接***一台×××服务器,找到Radius数据库,在里面添加一个账号。之后可以随便跳转到一台服务器,再从服务器连接×××服务器。关于route,大家可以使用-h查看更多的信息。

Metasploit***技巧:后***Meterpreter代理


6.16Search参数

当你使用msfconsole的时候,你会用到各种漏洞模块、各种插件等等。所以search命令就很重要。我会详细的解释一下这个命令。

当你输入search –h或者是help search的时候就会列出search命令的一些选项。

通过名称进行查找

这里需要用到name:命令。如果我要查找mysql数据库的漏洞,那么就是输入“search name:mysql”

通过路径进行查找

有时候,我们很遇到这么一种情况,就是只记得模块的路径,但是却忘记了模块的名称。那么就可以用path:命令查找在该路径下的所有模块。如果我要mysql路径下的所有mysql利用模块,那么就输入“search path:mysql”。

缩小查询范围

有时候我们会搜索到大量的模块,那么可以用platform:命令来缩小查询范围。使用platform命令后,所查询的结果会列出rank比较高的模块。如果我要查找mysql的漏洞,那么输入 “search platform:mysql”。大家对比一下上面的截图,发现没有,所有rank为normal的模块全部都屏蔽了,只剩下几个比较高级的利用模块。

通过类型进行查找

这里要使用到type:命令。Metasploit上只有三中模块可以利用,第一种是exploit模块,也就是利用模块。第二种是auxiliary模块。第三种是post模块。所以type命令也就只能搜索这个三种模块类型。如果我要搜索post模块,那么就输入“search type:post”:

通过模块作者名称进行查找

有时候我们会想看看一个作者所写的所有模块,那么就需要用到author:命令。很多人以为这个是多余的,事实不是。后面你们需要编写自己的漏洞模块,通过这个命令,你们就可以迅速的查找到你们自己的模块。如果我要查找dookie写的所有模块,那么就输入“search author:dookie”:


联合查找

大家可以使用上面的参数自行搭配使用。如果我要查找dookie所写的MAC系统的漏洞模块。那么输入“search author:dookie name:MacOS”:

6.17Sessions参数

这个参数可以让大家能够交互,查询或者终止当前的一些会话。如果要查看session的选项,直接输入“sessions -h”即可。这里需要注意的是,命令是sessions,不是session。很多人都忘记后面那个s。

6.18Set参数

这个主要是对payload或者其他模块进行设置。比如设置***目标的IP就是“set RHOST 192.168.0.2”:

6.19Unset参数

如果你使用set命令后,发现设置错误了,可以选择unset重新设置。

6.20Setg参数

这个和set有些类似,但是不同的是这个是一个全局变量设置。设置一次后再保存,那么以后,这个漏洞模块你就不用重复设置。但是请注意!如果你在某一个模块设置了全局变量,那么以后使用这个模块的时候请检查option选项。以免做重复的***工作。当然,如果你设置错误了,也可以用unsetg命令来重新设置。设置好后再输入save保存你的全局变量设置。

6.21Show参数

这个命令用的很多。请一定认真看。如果单纯的输入show,那么就会显示出所有的payload,利用模块,post模块,插件等等。但是一般我们都不这么使用。

如果要显示利用模块,那么就输入show exploits。如果要显示payload,那么就输入show payloads。总共可以使用的是那么几个命令,;show auxiliary;, ;show exploits;, ;show payloads;, ;show encoders;, 和 ;show nops;。

如果我进去了某一个利用模块后,要查看这个利用模块的可以加载的负荷就输入show payloads。这里大家自由发挥。

6.22Use参数

这个是使用参数。如你要使用到某个利用模块,payload等,那么就要使用到use参数:



7、Msfcli接口程序可以让用户直接利用,而且不用启动msfconsole。这个接口程序可以迅速的对某一操作系统迅速的发动***,适合批量化操作或者***。这个接口程序有那么几个常用的参数。

  1. -h 查看帮助
  2. S 显示模块信息
  3. P 可用的payloads
  4. 0 选项
  5. T ***目标
  6. E 开始执行


8、msfcli使用办法   原理讲解

9、Metasploit多方面的设置

10、***需要的基本条件