Metasploit介绍
我们经常在电影里看到有关黑客的镜头,他们通常在几个屏幕上一顿操作就能轻松“黑“进各种系统。这样的场景是不是很熟悉,是不是很羡慕?
今天我来介绍一下Metasploit Framework,简称MSF。这个工具就可以做到“Hacking Like in the Movies” (像电影中那样进行渗透攻击)。
Metasploit诞生于2003年,作者是H.D.Moore。当时HD想开发一个平台,这个平台要灵活的、框架的、开源的,有了这样的平台渗透测试人员就可以把时间用在漏洞发现上,而不需要把时间用在验证和处理公开的渗透代码上。
后来使Metasploit大放异彩的是2004年拉斯维加斯举办的世界黑客交流会---黑帽简报(Black Hat Briefings)上,HD带着最新版的Metasploit V2.2上台演讲。他的演讲标题是“Hacking Like in the Movies”(像电影中那样进行渗透攻击)。HD在台上展示了Metasploit的强大功能,输入简单的MSF终端命令,一台安装了Windows系统的电脑就被攻陷和控制。全场掌声不断,所有人都被这款工具的强大能力所吸引。
Metasploit有多牛呢?某开源项目维护了一个安全工具分类排行榜(https://sectools.org/),没有一款新工具能够一发布就能挤进此列表的15 强,Metasploit做到了,并且常年占据前五位置,超过很多广为流传的诞生了几十年的老牌工具。
目前排名第二
后来某著名漏洞管理解决公司收购Metasploit项目,但是该公司承诺成立专职开发团队,仍然将源代码置于3段式BSD许可证下。也就是说Metasploit会像当初的Linux一样靠社区的力量爆发出持久的生命力,同时保持开源和免费。
Metasploit支持Windows平台和Linux平台使用,可以从网站下载不同平台的安装包:
Nightly Installers · rapid7/metasploit-framework Wiki · GitHub
还有一种使用情况是渗透测试人员常用的Kali Linux,该系统内置了Metasploit。
接下来介绍一下Metasplooit 的用户接口,什么是用户接口呢?用户接口就是我们使用者怎么样跟Metasploit打交道,通过何种方式交互。
虽然Metasploit提供了很多用户接口,比如使用Armitage组件的图形化用户接口,比如msfcli(已被msfconsole -x取代)命令行接口,但是最灵活、功能最丰富的用户接口的是MSF终端(msfconsole)。
下图是进入MSF终端(msfconsole)以后的画面,只要在命令行输入msfconsole就可以进入。我们可以看到各种不同类型的模块已经发展到数千个,并且还在不断的增加。我们使用后会发现每次进入的界面不一样,这是开发者为了在枯燥的渗透测试中增加一些趣味性。
MSF终端(msfconsole)提供了一站式接口,通过这里可以访问Metasploit框架中几乎每一个功能和配置。
通过Metasploit提供的众多模块,你可以做到:在渗透测试前期进行情报收集,信息获取、漏洞扫描;在渗透测试中期进行漏洞验证、装载payload、发送shellcode获取控制权;渗透测试后期进行控制权限提升、扩大战果、维持访问、隐藏痕迹等等。我们会发现Metasploit参与到渗透测试的各个阶段,夸张的说你可以只使用这一款工具就可以完成渗透测试。
同时Metasploit提供渗透测试各阶段的模块是针对不同平台、不同软件版本、不同操作系统的,比如payload(攻击载荷)中的模块:
比如post(后渗透阶段)中的模块:
还有更厉害的,Metasploit提供了和其他工具的接口,可以把其他工具的结果进行导入操作。比如把Nexpose、Nessus,Nmap等安全渗透工具的扫描结果导入到Metasploit中使用,甚至可以在MSF终端中直接使用其他工具进行扫描。
总之Metasploit就好比一个渗透攻击的武器库,不管从横向维度(针对各种软、硬件平台),还是从纵向维度(针对渗透测试的各个阶段)都提供了丰富的工具支撑,可以说Metasploit提供了渗透测试的模块化、流程化、自动化、全面化的渗透测试平台,做到了“Hacking Like in the Movies” (像电影中那样进行渗透攻击)。