玩转Metasploit系列(第二集)

  • A+
所属分类:神兵利刃

上一节的内容中,大家了解了Metasploit的结构。这一节我们主要介绍的是msfconsole的理论。

msfconsole理论

在MSF里面msfconsole可以说是最流行的一个接口程序。很多人一开始碰到msfconsole的时候就害怕了。那么多复杂的命令语句需要学习,但是msfconsole真的是一个强大的接口程序。Msfconsole提供了一个一体化的集中控制台。通过msfconsole,你可以访问和使用所有的metasploit的插件,payload,利用模块,post模块等等。Msfconsole还有第三方程序的接口,比如nmap,sqlmap等,可以直接在msfconsole里面使用。

大家可以直接在命令行窗口输入msfconsole,然后回车。这样就打开了msfconsole。Msfconsole的系统文件和用户文件位于/usr/share/metasploit-framework/msfconsole目录下。

玩转Metasploit系列(第二集)

当打开msfconsole后,大家请看红色的方框。这里面清楚的标记了Metasploit所有的利用模块、payload、post模块等等。

Msfconsole有两个查看帮助的选项。一个是msfconsole -h,一个是help。

Msfconsole –h是显示在msfconsole初始化的选项和参数。而help则是显示进入msfconsole后可以利用的选项。

Msfconsole –h参数

玩转Metasploit系列(第二集)

全部参数的解释和利用

Help参数

玩转Metasploit系列(第二集)

接下来我要说道msfconsole各个参数的利用和一些解释。

Back参数

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

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

玩转Metasploit系列(第二集)

Banner参数

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

玩转Metasploit系列(第二集)

Check参数

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

玩转Metasploit系列(第二集)

Color参数

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

玩转Metasploit系列(第二集)

Connect参数

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

Connect是参数名称,192.168.0.1是IP地址 8080是端口号。

玩转Metasploit系列(第二集)

如果大家想查看更详细的connect信息,直接输入connect –h就可以了。

玩转Metasploit系列(第二集)

Edit参数

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

玩转Metasploit系列(第二集)

Exit参数

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

玩转Metasploit系列(第二集)

Info参数

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

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

玩转Metasploit系列(第二集)

第二种是输入info后,再在后面输入模块的编号,然后回车查看模块信息。

玩转Metasploit系列(第二集)

Irb参数

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

玩转Metasploit系列(第二集)

Jobs参数

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

玩转Metasploit系列(第二集)

Kill参数

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

玩转Metasploit系列(第二集)

Load参数

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

玩转Metasploit系列(第二集)

Unload参数

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

玩转Metasploit系列(第二集)

Resource参数

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

玩转Metasploit系列(第二集)

Route参数

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

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

Route做代理->FB文章索引点我‍。

玩转Metasploit系列(第二集)

Search参数

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

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

玩转Metasploit系列(第二集)

玩转Metasploit系列(第二集)

通过名称进行查找

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

通过路径进行查找

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

玩转Metasploit系列(第二集)

缩小查询范围

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

玩转Metasploit系列(第二集)

通过类型进行查找

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

玩转Metasploit系列(第二集)

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

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

玩转Metasploit系列(第二集)

联合查找

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

玩转Metasploit系列(第二集)

Sessions参数

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

玩转Metasploit系列(第二集)

Set参数

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

玩转Metasploit系列(第二集)

Unset参数

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

玩转Metasploit系列(第二集) 

Setg参数

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

玩转Metasploit系列(第二集)             

设置好后再输入save保存你的全局变量设置。

玩转Metasploit系列(第二集)

Show参数

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

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

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

玩转Metasploit系列(第二集)

Use参数

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

玩转Metasploit系列(第二集)

Msfconsole的基础命令就先说到这里,下节我会演示一个实战来验证上面的理论。

* 作者/Arthur和lazynms,整理/FreeBuf小编banish,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin