Kali安全渗透教程第6.2课:Metasploit基础

2019年9月16日08:00:21 发表评论

Kali安全渗透教程第6.2课:Metasploit基础

Metasploit是一款开源的安全漏洞检测工具。它可以帮助用户识别安全问题,验证漏洞的缓解措施,并对某些软件进行安全性评估,提供真正的安全风险情报。当用户第一次接触Metasploit渗透测试框架软件(MSF)时,可能会被它提供如此多的接口、选项、变量和模块所震撼,而感觉无所适从。Metasploit软件为它的基础功能提供了多个用户接口,包括终端、命令行和图形化界面等。本节将介绍Metasploit下各种接口的使用方法。

6.2.1 Metasploit的图形管理工具Armitage

Armitage组件是Metasploit框架中一个完全交互式的图形化用户接口,由Raphael Mudge所开发。Armitage工具包含Metasploit控制台,通过使用其标签特性,用户可以看到多个Metasploit控制台或多个Meterpreter会话。

使用Armitage工具。具体操作步骤如下所示。

(1)启动Metasploit服务。在使用Armitage工具前,必须将Metasploit服务启动。否则,无法运行Armitage工具。因为Armitage需要连接到Metasploit服务,才可以启动。在Kali桌面依次选择“应用程序”|Kali Linux|“系统服务”|Metasploit|community/pro start命令启动Metasploit服务,将输出如下所示的信息:

[ ok ] Starting PostgreSQL 9.1 database server: main.
Configuring Metasploit…
Creating metasploit database user 'msf3'…
Creating metasploit database 'msf3'…
insserv: warning: current start runlevel(s) (empty) of script `metasploit' overrides LSB defaults (2 3 4 5).
insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script `metasploit' overrides LSB defaults (0 1 6).

从输出的信息中可以看到PostgreSQL 9.1数据库服务已启动,并创建了数据库用户和数据库。

(2)启动Armitage工具。在Kali桌面依次选择“应用程序”|Kali Linux|“漏洞利用工具集”|“网络漏洞利用”|armitage命令。或者在终端运行armitage命令启动Armitage工具,如下所示:

root@kali:~# armitage

(3)启动armitage工具

(4)在该界面显示了连接Metasploit服务的基本信息。在该界面单击Connect按钮

(5)该界面提示是否要启动Metasploit的RPC服务。单击“是(Y)”按钮

(6)该界面显示了连接Metasploit的一个进度

(7)该界面共有三个部分,这里把它们分别标记为A、B和C。下面分别介绍这三部分。

    • A:这部分显示的是预配置模块。用户可以在模块列表中使用空格键搜索提供的模块。
    • B:这部分显示活跃的目标系统,用户能执行利用漏洞攻击。
    • C:这部分显示多个Metasploit标签。这样,就可以运行多个Meterpreter命令或控制台会话,并且同时显示。

控制Metasploit终端(MSFCONSOLE)

MSF终端(MSFCONSOLE)是目前Metasploit框架最为流行的用户接口,而且也是非常灵活的。因为MSF终端是Metasploit框架中最灵活、功能最丰富及支持最好的工具之一。MSFCONSOLE主要用于管理Metasploit数据库,管理会话、配置并启动Metasploit模块。本质上来说,就是为了利用漏洞,MSFCONSOLE将获取用户连接到主机的信息,以至于用户能启动渗透攻击目标系统。本小节将介绍Metasploit终端(MSFCONSOLE)。

当使用Metasploit控制台时,用户将使用一些通用的命令,如下所示。

      • help:该命令允许用户查看执行命令的帮助信息。
      • use module:该命令允许用户加载选择的模块。
      • set optionname module:该命令允许用户为模块设置不同的选项。
      • run:该命令用来启动一个非渗透攻击模块。
      • search module:该命令允许用户搜索一个特定的模块。
      • exit:该命令允许用户退出MSFCONSOLE。

MSFCONSOLE漏洞利用的具体操作步骤如下所示。

(1)在终端启动MSFCONSOLE,执行命令如下所示:

root@kali:~# msfconsole

(2)使用search命令搜索所有有效的Linux模块。对于模块用户每次想要执行一个动作,这是一个很好的主意。主要原因是Metasploit各种版本之间,模块的路径可能有改变。执行命令如下所示:

msf> search linux

(3)使用John Ripper linux密码破解模块。执行命令如下所示:

msf > use auxiliary/analyze/jtr_linux
msf auxiliary(jtr_linux) >

输出的信息表示已加载jtr_linux模块。

从输出结果中可以看到jtr_linux模块有5个有效的选项,如Crypt、JOHN_BASE、JOHE_PATH、Munge和Wordlist。在输出的信息中,对这5个选项分别有详细的描述。

(5)现在用户有一个选项的列表,这些选项为运行jtr_linux模块。用户能设置独特的选项,使用set命令。设置JOHN_PATH选项,如下所示:

msf auxiliary(jtr_linux) > set JOHN_PATH /usr/share/metasploit- framework/data/john/ wordlists/password.lst
JOHN_PATH => /usr/share/metasploit-framework/data/john/wordlists/ password.lst

(6)现在运行渗透攻击,执行命令如下所示:

msf auxiliary(jtr_linux) > exploit

控制Metasploit命令行接口(MSFCLI)

本小节将介绍Metasploit命令行接口(MSFCLI)。为了完成Metasploit的攻击任务,需要使用一个接口。MSFCLI刚好实现这个功能。为了学习Metasploit或测试/写一个新的渗透攻击,MSFCLI是一个很好的接口。

MSF命令行和MSF终端为Metasploit框架访问提供了两种截然不同的途径,MSF终端以一种用户友好的模式来提供交互方式,用于访问软件所有的功能特性,而MSFCLI则主要考虑脚本处理和与其他命令行工具的互操作性。MSFCLI常用的命令如下所示。

  • msfcli:加载所有有效渗透攻击MSFCLI的列表。
  • msfcli -h:查看MSFCLI帮助文档。
  • msfcli [PATH TO EXPLOIT] [options = value]:启动渗透攻击的语法。

发表评论

后发表评论