Metasploit渗透测试框架及使用方法---小白笔记

一.Metasploit 简介

Metasploit 是一款开源的渗透测试框架,它被用来发现和利用安全漏洞。Metasploit 可以自动化测试流程,从枚举目标主机开始,到识别目标的漏洞并使用有效载荷来尝试获得对目标系统或网络的控制。Metasploit 带有一个强大的数据库,其中包含了大量的漏洞信息并与工具本身紧密集成。Metasploit 由 Rapid7 公司开发和维护,支持多种操作系统和不同类型的漏洞。

1.基础库:metasploit 基础库文件位于源码根目录路径下的libraries 目录中,包括Rexframework-core 和framework-base 三部分。

Rex 是整个框架所依赖的最基础的一些组件,如包装的网络套接字、网络应用协议客户端与服务端实现、日志子系统、渗透攻击支持例程、PostgreSQL以及MySQL数据库支持等

framework-core库负责实现所有与各种类型的上层模块及插件的交互接口

framework-base 库扩展了framework-core,提供更加简单的包装例程,并为处理框架各个方面的功能提供了一些功能类,用于支持用户接口与功能程序调用框架本身功能及框架集成模块。

2.模块:模块组织按照不同的用途分为6种类型的模块 (Modules)

辅助模块(Aux)、渗透攻击模块 (Exploits)、后渗透攻击模块 (Post)、攻击载荷模块(payloads)、编码器模块 (Encoders)、空指令模块 (Nops)

注: payload 又称为攻击载荷,主要是用来建立目标机与攻击机稳定连接的,可返回 shell,也可以进行程序注入等

3.插件:插件能够扩充框架的功能,或者组装已有功能构成高级特性的组件。插件可以集成现有的些外部安全工具,如Nessus、OpenVAS漏洞扫描器等,为用户接口提供一些新的功能。

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

5.功能程序:metasploit 还提供了一系列可直接运行的功能程序,支持渗透测试者与安全人员快速地利用 metasploit 框架内部能力完成一些特定任务。比如 msfpayload、msfencode和msfvenom 可以将攻击载荷封装为可执行文件、C语言、JavaScript语言等多种形式,并可以进行各种类型的编码

二.Metasploit目录结构

切换到metasploit工作目录

data:Metasploit 使用的可编辑文件

documentation:为框架提供文档

lib: 框架代码库

modules:实际的MSF模块

plugins:可以在运行时加载的插件

scripts:Meterpreter和其他脚本

tools:各种有用的命令行工具

三.Metasploit使用方法

Metasploit程序需要使用Postgresql数据库

PostgreSQL是一个开源的关系型数据库管理系统(RDBMS),它具有高度的可扩展性、稳定性和可靠性。它最初是由加州大学伯克利分校开发的POSTGRES项目的后继版本。它是世界上最先进的开源关系型数据库。

从应用场景来说,PostgreSQL更加适合严格的企业应用场景(比如金融、电信、ERP、CRM),而MySQL更加适合业务逻辑相对简单、数据可靠性要求较低的互联网场景

1.手动启动数据库

2.开启msfconsole

方法一:

方法二:

注:如果第一次开启报错,有可能是数据库没有初始化,退出在命令行执行 msfdb init 初始化,会自动生成配置文件。

3.用help查看帮助

可以对整个msf有个整体的认知

Core Commands  #核心命令

Module Commands  # 模块命令

Job Commands  # 后台任务命令

Resource Script Commands  # 资源脚本命令

Database Backend Commands  # 数据库后端命令

Credentials Backend Commands #证书/凭证后端命令

Developer Commands   #开发人员命令

1.常用命令

1.核心命令中的connect命令

用connect查看相关参数

链接目标80 端口

2.模块相应的命令show
  1. show options:显示当前选定模块的可用选项及其当前设置的值。

  2. show advanced:显示当前选定模块的高级选项及其当前设置的值。

  3. show payloads:显示可用的攻击载荷(payloads)以及其详细信息。

  4. show encoders:显示可用的编码器(encoders)以及其详细信息。

  5. show nops:显示可用的无操作系统(NOP)模块以及其详细信息。

  6. show targets:显示当前选定模块的可攻击目标(targets)以及其详细信息。

  7. show info:显示当前选定模块的简要信息,包括名称、描述和作者等。

  8. show all:显示所有可用的模块,包括 exploit、payload、encoder、nop 等

  9. show post:显示所有可用的模块,包括 exploit、payload、encoder、nop 等

3.模块相关的命令search搜索的使用方法

search -h 查看相应参数

search name:mysql   # search 后直接跟查找的内容,查得很广泛(只用明确漏洞名字)

每一个漏洞利用模块基于它们对目标系统的潜在影响都被标记了一个 Rank 字段。用户可以基于 Rank 对漏洞利用模块进行搜索,分类以及排序

Rank 按照可靠性障序排列:

  1. Excellent
  2. Great
  3. Good
  4. Normal
  5. Low
  6. Manual
  7. Experimental

search path:mysql  #查找MySQL下的所有MySQL利用模块

platform: 命令来缩小查询范围。使用 platform 命令后,所查询的结果会列出 rank 比较高的模块

 search platform:mysql

观察上下两张图发现,所有的normal模块全部被屏蔽了,只剩下较高级的几个模块

通过类型进行查找

search type:特定类型的模块(exploit,payload,auxiliary,encoder,evasion,post,or nop)

4.模块相关命令use的使用方法

(1)查找自己想要的漏洞模块

注:metasploit支持模糊查找,不区分大小写。

(2)装在一个渗透模块攻击(可以用back退出当前调用的模块,注:exit命令会直接退出程序)

5.模块相关命令info的使用方法

info:显示模块的相关信息

设置RHOSTS 参数,指定攻击的目标机器

删除相关参数

  • 23
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lin___ying

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值