前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >使用Metasploit框架-1

使用Metasploit框架-1

作者头像
Baige
发布于 2022-03-22 07:14:05
发布于 2022-03-22 07:14:05
54500
代码可运行
举报
文章被收录于专栏:世荣的博客世荣的博客
运行总次数:0
代码可运行

前言: 在深入研究生渗透测试的各个阶段之前,我们应该初步掌握漏洞利用的相关知识。就各阶段工作对渗透测试成功的影响而言,信息收集阶段工作和信息侦查阶段工作要比漏洞利用阶段工作的作用更大,但是从工作乐趣而言,获取shell(到既定目标的远程连接)或诱使他人在克隆的网站输入密码,反而比信息收集的工作有趣的多。

这里我们来谈谈Metasploit框架,它已然是渗透测试的标准工具。具有模块化和灵活架构的双重优点,这种设计有助于人们在发现漏洞之后立刻着手exploit的开发,界面友好,简单易用.......(好了我吹不下去了)

1.启动Metasploit

现在启动Metasploit并用它攻击一个靶机。由于Kali Linux的环境变量PATH已经收录了Metasploit所在的文件夹位置,因此可以在任意目录下直接启动Metasploit,首先需要启动 PostgreSQL 数据库的系统服务。这个数据库用于记录和查询Metasploit的数据。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
┌──(shirong㉿kali)-[~]
└─$ service postgresql start

接下来就可以启动Metasploit的系统服务器了。首次启动服务器时,它会创建一个名为msf3的PostgreSQ数据库用户,并完成数据库的初始化安装工作 。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
┌──(shirong㉿kali)-[~]
└─$ service metasploit start

Metasploit有多就种控制界面。这里只拿文本控制端控制台Msfconsole,以及命令行控制界面Msfcli展开说,虽然都可以运行模块,但是这里侧重用前者说。

msfconsole
msfconsole

这次启动的界面一如既往的好看,爱了爱了。 在使用Metasploit时,可以通过help命令查看所有可用的命令,以及这些命令的功能描述。若对某些命令感到生疏,则可以通过 "help <命令名称>" 查看它们的使用说明。

帮助信息
帮助信息

2.查找Metaspolit模块

使用Metasploit模块来利用Windows XP靶机上某个未修复的安全漏洞。这个安全漏洞最终被微软安全公共(补丁)MS08-067修复。微软MS08-067修复的是一个由netapi32.dll引起的远程代码执行漏洞。成功利用此漏洞的攻击者能够通过SMB(Server Message Block)协议完全远程控制受影响的系统。因为攻击者无需经过身份认证即可利用这个漏洞,所以它属于高危漏洞。其后出现的 Conficker 蠕虫利用的正是MS08-067漏洞。

这是2008年就存在的安全漏洞。虽然官方已经在多年之前早就修复了该问题,但是许多企业的内网已然存在这个严重的安全漏洞,在众多exploit中,Metasploit的MS08-067模块简单易用,成功率高,成为了业内首选测试工具。

这里推荐Metasploit提供的在线数据库: Vulnerability & Exploit Database

2.1在线的模块数据库 在Metasploit的官方搜索界面中,能够根据CVE(Common Vulnerablities and Exposures)编号,OSVDB(Open Sourced Vulnerablity Database)ID,Bugtraq ID和微软安全公告编号(MSB),检索出相应的Metasploit模块。还可以利用某个字符检索出相应模块信息的全文。这里我以MS08-067为例子,进行一次搜索。

MS08-067
MS08-067

URL地址显示的模块名称,就是那个可测试微软安全公告MS-08-067问题的漏洞利用模块的全名。 在Metasploit的安装目录下,这个模块的文件位置是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
exploit/windows/smb/ms08_067_netapi/

2.2内置的搜索命令 还可以使用Metasploit的内置搜索功能检索相应的测试模块。

内置搜索
内置搜索
可以再次看到目录路径,这是相应模块的存储位置。在确定了测试模块之后,就要使用"info<模块名称>"命令进行验证
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
msf > info exploit/windows/smb/ms08_067_netpi

这里信息有点多,我们一条一条来讲:

(1) Name

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Name: MS08-067 Microsoft Server Service Relative Path Stack Corruption
确切名称

(2) Module

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Module: exploit/windows/smb/ms08_067_netapi
模块路径

(*) Version

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Version: 0 
版本信息 自从官方利用Github管理Metasploit的版本修订之后,内在的模块信息都被设置为0。
这是历史原因遗漏下来的一个字段,版本号就是模块的SVN修订编号

(3) Platform

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Platform: Windows
平台信息 (例如:这个模块只适用于Windows)

(4) Privileged

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Privileged: Yes
权限信息 是否需要事先以目标主机的管理员权限运行exploit,才可以利用该漏洞

(5) Rank

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Rank: Great
评级信息 代表该exploit对目标主机的影响程度。Metasploit把各个exploit评定为
manual(需调试)至excellent(优异)之间的若干档。所谓优异的exploit应当不会引发主机的崩溃。
不过MS08-067这类利用内存溢出漏洞的exploit,本质上就不可避免主机崩溃问题。所以通常不会被评为优异级的
exploit。这里使用的这个exploit被评定为"great"(优秀),比优异略低一级。通常来说,优秀级别的
exploit能够自动探测正确的目标,并且会通过其他技术手段保证高的测试成功率。

(6) Available targets

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Available targets:
Id  Name
--  ----
0   Automatic Targeting
1   Windows 2000 Universal
2   Windows XP SP0/SP1 Universal
3   Windows 2003 SP0 Universal
4   Windows XP SP2 English (AlwaysOn NX)
5   Windows XP SP2 English (NX)
6   Windows XP SP3 English (AlwaysOn NX)
7   Windows XP SP3 English (NX)
8   Windows XP SP2 Arabic (NX)
9   Windows XP SP2 Chinese - Traditional / Taiwan (NX)
10  Windows XP SP2 Chinese - Simplified (NX)
...
...
69  Windows 2003 SP2 Spanish (NX)
70  Windows 2003 SP2 Japanese (NO NX)
71  Windows 2003 SP2 French (NO NX)
72  Windows 2003 SP2 French (NX)
系统适用的机型 代表exploit使用的操作系统,从上可知一共有72种系统。

(7) Basic options

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Name     Current Setting  Required  Description
————     ———————————————  ————————  ———————————
RHOSTS                    yes       The target host(s), range CIDR identifier...
RPORT    445              yes       The SMB service port (TCP)      
SMBPIPE  BROWSER          yes       The pipe name to use (BROWSER, SRVSVC)
基本选项 是调用模块时必须设置的选项。必须设置的基本选项是RHOSTS。它向Metasploit传递目标主机的IP地址

(8) Payload information

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Payload information:
Space: 408
Avoid: 8 characters
有效载荷 用于帮助Metasploit选取有效载荷。有效载荷是与特定exploit对应的shellcode
有效载荷能够使那些被渗透的主机运行攻击人员置顶的命令。

(9) Description

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
This module exploits a parsing flaw in the path canonicalization 
code of NetAPI32.dll through the Server Service. This module is 
capable of bypassing NX on some operating systems and service pack...
模块介绍

(10) References

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://nvd.nist.gov/vuln/detail/CVE-2008-4250
OSVDB (49243)
https://docs.microsoft.com/en-us/security-updates/SecurityBulletins/2008/MS08-067
http://www.rapid7.com/vulndb/lookup/dcerpc-ms-netapi-netpathcanonicalize-dos
参考文献

进入指定的exploit模块的设置环境

use
use

3.设置模块选项

选定了具体的模块之后还要继续设置,先看看模块的配置参数:

配置参数
配置参数

<1>RHOSTS 用预设定exploit的目标主机。因为这个选项的作用是“告诉Metasploit攻击哪一台主机”这里填写靶机的IP地址即可 命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
set RHOSTS 172.16.122.4

运行之后最好再使用"show options"命令检查一下RHOSTS的值,看看是否调整成功。

设置IP
设置IP

<2>RPORT 用于设定攻击对象的具体端口,这里利用的是Windows SMB服务,而其使用的端口就是默认的445端口,Metasploit已经默认设置好了。 <3>SMBPIPE 沿用默认值BROWSER,SMB命名管道(pipe)是一种在网络上实现进程间通信(IPC)的跨主机通信机制 <4>Expolit Target 默认值设置为0 Automatic Targeting。Exploit Target选项用于设置目标主机的操作系统以及操作系统的版本号。

4.有效载荷

准备工作以及就绪,但是并不完整,为什么? 因为没有设定Metasploit在利用漏洞之后具体行为。Metasploit能够设定自动化设定有效载荷(payload)从而大幅度简化操作,我们只需要选取一个兼容有效的即可,Metasploit能够自动构造exploit的字符串,自动生成触发漏洞的程序代码和利用漏洞之后的攻击命令

4.1查找可兼容的有效载荷 Metasploit会定期收录新的exploit模块和新的有效载荷。但是并非所有的有效载荷都适用于既定的exploit。 这里使用命令查看有效载荷

show paloads
show paloads

4.2试运行 首先使用有效载荷的默认设置进行测试,熟悉有效载荷的工作原理。直接输入exploit命令,令Metasploit运行相应的攻击模块 Meterpreter会话是基于Metasploit特有的有效载荷,它不仅可以执行命令行界面中可以运行的全部命令,而且还可以完成许多其他任务。

结束
结束
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021 年 12 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
网络空间安全之一个WH的超前沿全栈技术深入学习之路(13-2)白帽必经之路——如何用Metasploit 渗透到她的心才不会让我释怀
盛透侧视攻城狮
2024/12/25
650
网络空间安全之一个WH的超前沿全栈技术深入学习之路(13-2)白帽必经之路——如何用Metasploit 渗透到她的心才不会让我释怀
利用msf工具进行靶机渗透研究
MS08-067漏洞将会影响Windows 2000/XP/Server 2003/Vista/Server 2008的各个版本,甚至还包括测试阶段的Windows 7 Pro-Beta。
FB客服
2021/07/02
1.1K0
黑客玩具入门——5、继续Metasploit
由于Windows7使用了比较安全的机制,所以入侵win7远比入侵Windows xp要难得多。虽然系统本身很安全,但是我们不可能只安装一个系统,就什么都没有了,系统内我们还会安装很多软件,我们就可以从这些应用软件入手,去寻找他们的漏洞,借助这些软件做跳板,去入侵系统。
zaking
2023/12/01
3760
黑客玩具入门——5、继续Metasploit
Kali Linux 网络扫描秘籍 第八章 自动化 Kali 工具
Kali Linux 渗透测试平台提供了大量高效的工具,来完成企业渗透测试中所需的大多数常见任务。 然而,有时单个工具不足以完成给定的任务。 与构建完全新的脚本或程序来完成具有挑战性的任务相比,编写使用现有工具以及按需修改其行为的脚本通常更有效。 实用的本地脚本的常见类型包括用于分析或管理现有工具的输出,将多个工具串联到一起的脚本,或者必须顺序执行的多线程任务的脚本。
ApacheCN_飞龙
2022/12/01
5.3K0
渗透测试神器 | Metasploit 使用简介
介绍:主要是为渗透测试信息搜集阶段提供大量的辅助工具,包括各种网络服务探测与扫描,构建虚假服务收集登录密码,口令的猜测与破解,敏感信息嗅探等。此外还包括一些无需获取目标系统控制权限的攻击手段,常见的如DDoS攻击等。
HACK学习
2019/08/07
1.8K0
渗透第一课:尝试渗透
​ Metasploit框架中含有数百个模块,当然无法用“脑子”,也没有功夫去记所有的模块(除非很闲),当然了,一些比较基础的还是需要记住的了。
Mirror王宇阳
2020/11/13
5080
渗透第一课:尝试渗透
Metasploit渗透复现MS08-067漏洞
这篇文章也是我在别的博客看到的,一想自己的Kali已经尘封多年了,所以便有了想试试的冲动,但是本次测试并没有成功,没有成功的原因可能是漏洞已经被填了,也有可能是我操作的过程不对。
用砖头敲代码
2022/06/14
7920
MSF学习(二)----Msfconsole
Msfconsole是msf的一个使用接口。通俗讲,就是启动msf的一个命令。当然可以启动msf的接口还有其他的,比如上节文末的msfcli命令。 官方介绍: msfconsole可能是Metasploit框架(MSF)最流行的接口。它提供了一个“一体化”的集中控制台,并允许您高效访问MSF中几乎所有可用的选项。MSFconsole一开始可能看起来很吓人,但一旦你学会了命令的语法,你就会学会使用这个界面的强大功能。
cultureSun
2023/12/23
1.4K0
MSF学习(二)----Msfconsole
操作系统漏洞验证及加固
漏洞利用,(service postgresql start启动msf数据库 )通过msfconsole命令启动matesploit漏洞渗透平台。通过search ms08_067模块进行利用。
菜菜有点菜
2022/03/16
3K0
操作系统漏洞验证及加固
干货 | 一款开源自动化安全漏洞利用和测试工具Metasploit超详细快速入门指南
The Metasploit Framework的简称。MSF高度模块化,即框架由多个module组成,是全球最受欢迎的工具。
网络安全自修室
2022/12/06
2.1K0
干货 | 一款开源自动化安全漏洞利用和测试工具Metasploit超详细快速入门指南
渗透测试工具——Metasploit[通俗易懂]
操作机:Kali Linux 2021.1, Metasploit Frameworks 6.0.30 目标机:Windows Server 2003 sp2中文版(含ms08-067漏洞)Windows xp 英文版
全栈程序员站长
2022/09/21
4.4K0
渗透测试工具——Metasploit[通俗易懂]
WinXP的MS08-067漏洞利用复现和解决方案
本期文章由华章IT赞助,未经允许,禁止转发,本篇笔记内容来源于书籍《kali Linux 高级渗透测试》,如有需要,可以购买阅读。
天钧
2020/08/24
2.5K0
WinXP的MS08-067漏洞利用复现和解决方案
msfconsole模块_msfconsole下载
测试者利用它来攻击一个系统,程序,或服务,以获得开发者意料之外的结果。常见的有内存溢出,网站程序漏洞利用,配置错误exploit。 exploits总的来说共分为两类溢出(exploit)攻击方法,即主动溢出和被动溢出。主动溢出是针对目标主机的漏洞主动的进行攻击以获得控制权限,被动溢出是针 对目标主机被动的监听然后获得相应的操作。 Exploit共分为13种,分别是:ais、bsdi、dialup、freebsd、hpux、irix、linux、multi、netware、osx、solaris、unix、windows。其中windows下面的最多。
全栈程序员站长
2022/10/04
3300
掩盖浏览痕迹不会被发现的方法【逗】
BY OCCUPYTHEWEB  05/27/2016 3:26 AM HACK LIKE A PRO 拯救世界免于核毁灭。世人也许不知道你做了什么,但我知道。棒极了!
网e渗透安全部
2020/08/27
5150
黑客玩具入门——4、漏洞扫描与Metasploit
Legion是Sparta的一个分支,它是一个开源的、易于使用的、超级可扩展的、半自动的网络渗透测试框架。它是一款Kali Linux系统默认集成的Python GUI应用程序工具。Legion是一个Nmap、Nikto、Hydra等工具的集合,利用各个工具的优秀功能,完成收集信息、扫描和爆破等任务。
zaking
2023/12/01
2.4K0
黑客玩具入门——4、漏洞扫描与Metasploit
MSFCONSOLE COMMANDS「建议收藏」
The MSFconsole has many different command options to choose from. The following are a core set of Metasploit commands with reference to their output.
全栈程序员站长
2022/10/04
1.2K0
kali入侵windows
因为我是一个爱好和平的人(捂嘴笑),所以就在虚拟机中,创建二个系统,一个kali,一个windows xp,来进行这次入侵实验,以此迈入hacke的大门。 实验环境 实验环境.jpg 试验工具 kai
热心的社会主义接班人
2018/04/27
3.9K0
kali入侵windows
msfconsole攻击工具_服务器console接口是干嘛的
大家好,又见面了,我是你们的朋友全栈君。 💛生活总会难过💚,💛但好运也会如期而至💚 🌴🌴🌴🌴🌴🌴🌴🌴🌴🌴🌴🌴🌴🌴🌴🌴🌴🌴🌴🌴🌴🌴🌴🌴 🍪目录: 🌲Msfconsole工具 概括: 🌲免责声明: 🌲测试机: 🌲靶场: 🌲Msfconsole的使用: 🌲打开Msfconsole工具: 🌲第一步:进行端口扫描. 🌲第二步:进行服务的扫
全栈程序员站长
2022/10/04
6920
msfconsole攻击工具_服务器console接口是干嘛的
msfconsole 控制台使用和操作[通俗易懂]
Msfconsole提供了一个一体化的集中控制台。通过msfconsole,你可以访问和使用所有的metasploit的插件,payload,利用模块,post模块等等。Msfconsole还有第三方程序的接口,比如nmap,sqlmap等,可以直接在msfconsole里面使用。 在启动MSF终端之后,可以首先输入help命令列出MSF终端所支持的命令列表,包括核心命令集和后端数据库命令集。对于其中的大部分命令,你可以输入help[COMMAND],进一步查看该命令的使用帮助信息。
全栈程序员站长
2022/10/29
2.9K0
msfconsole 控制台使用和操作[通俗易懂]
Metasploit框架MSFconsole命令详解
MSFconsole核心命令教程 MSFconsole有许多不同的命令选项可供选择。以下是Metasploit命令的核心组合,并参考其格式。
网络安全自修室
2020/07/22
5.3K0
Metasploit框架MSFconsole命令详解
推荐阅读
相关推荐
网络空间安全之一个WH的超前沿全栈技术深入学习之路(13-2)白帽必经之路——如何用Metasploit 渗透到她的心才不会让我释怀
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文