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。这个接口程序可以迅速的对某一操作系统迅速的发动攻击,适合批量化操作或者渗透。这个接口程序有那么几个常用的参数。
-h 查看帮助 S 显示模块信息 P 可用的payloads 0 选项 T 攻击目标 E 开始执行
10、攻击需要的基本条件