官方释出安全测试框架Metasploit最新版本5.0,这个版本使用了新的数据库和自动化API,还加入新的规避测试功能,而且也改进了效能以及框架易用性,现在使用者可以使用单一攻击模块,对多个主机进行测试,另外,Metasploit5.0开始支持多程序语言。Metasploit是一个计算机安全项目,目的是要提供安全漏洞的信息,并且帮助渗透测试与IDS签章开发,而开源的Metasploit框架是其最有名的子项目,针对远程机器开发,并执行攻击程序代码的测试工具。Metasploit框架使用模块架构,允许用户组合任何漏洞与酬载,以执行攻击任务。
开发团队为Metasploit 5.0改进了数据使用方法,以及强化与其他工具互通的能力。Metasploit 5.0能以PostgreSQL数据库提供RESTful服务,为多个Metasploit控制台或是外部工具提供服务,而这个改变也意味着,Metasploit卸除了一些数据库服务的操作,透过数据库的平行处理与常规Msfconsole用户接口操作来改进效能。官方提到,一直以来,Metasploit自动化功能都使用自有的协议,而这也让使用Curl等标准工具的使用者,难以进行测试或调试程序,而现在Metasploit 5.0新加入的JSON-RPC API,将能有效帮助整合Metasploit与新工具。
另外,Metasploit 5.0还增加了通用网页服务框架,以公开数据库和自动化API,该框架也支持进阶身份验证与并行操作,以及其他良好支持未来服务的预先建置功能。不过,为了向后兼容,Metasploit 5.0仍支持本机数据库或是无数据库模式,也继续支持基与MessagePack的RPC协议。在2018年时,Metasploit 5.0加入了新的规避侦测模块类型以及范例,用户除了可以利用这些模块开发自己的规避侦测行为外,还能合并使用一系列新的函式库,为酬载加入动态突变。而在Metasploit 5.0最新的模块,能够善用这些函式库的功能,赋予用户利用动态产生独特持久服务的能力。
而现在Metasploit 5.0能更方便的支持大规模开发测试,任何模块都可透过设定RHOSTS中IP范围,或是使用file://选项参照主机档案瞄准多个主机。官方提到,这是一个用户长期要求的功能,希望能够使用一个模块对多个主机进行攻击,虽然过去Metasploit支持扫描的概念,可以针对子域或是网络范围进行扫描,但使用攻击模块仍仅支持单一主机,使得大规模开发测试,需要额外编写脚本或手动控制,而Metasploit 5.0新的改进赋予使用者大规模攻击测试的能力。最新版Metasploit还改善了模块搜寻的速度,开发团队让搜寻机制独立于数据库执行,因此Metasploit可以提供更快速开箱即用的能力,让搜寻模块更加快速。另外,Metasploit新的Metashell功能现在会于所有Shell对话中自动启用,允许使用者以后台命令进行后台对话、上传或下载文件,甚至是执行资源脚本。
Metasploit 5.0开始支持多程序语言模块,现在共支持三种语言Go、Python和Ruby。官方也说明新的发布周期,现在Metasploit分为两个分支,一个是稳定版本,另一个则为开发中的不稳定版本,官方提到,过去Metasploit功能的拉取请求可能长达数个月,还会不停造成合并的开源项目发生错误,而现在新增的开发分支,团队可以更快速彻底地迭代新功能,使其成熟后并入稳定版本。用户已经可以在Github中项目的5.0.0标签取得最新的Metasploit 5.0,官方也欢迎新的开发者加入Metasploit社群,即便不熟悉Ruby语言,现在Metasploit也需要Python或Go模块,因此也欢迎擅长这两种语言开发者。