一、Metasploit的历史
- 在没有漏洞渗透工具框架的时候,渗透测试者往往需要自己收集漏洞渗透用代码,甚至自己编写针对漏洞用的代码,这个时期的渗透测试效率比较低
- 2003年左右,美国的H.D Moore和Spoonm创建了一个继承了多个漏洞渗透工具的框架。随后,这个框架在2004年的世界黑客交流会(Black Hat Briefings)上备受关注,Spoonm在大会的演讲中提到,Metasploit的使用如此简单,以至于你只需要找到一个目标,单击几下鼠标左键就可以完成渗透
Metasploit存在多个版本:
- 企业使用的商业版Metasploit Pro
- 个人使用的免费版本Metasploit Communit(Kali Linux默认安装的版本)
二、Metasploit的启动方式
通过界面点击或者直接输入msconsole来启动Metasploit
启动之后可以看到:
- Metasploit版本为v5.0.29
- 模块种类及其个数:1897个exploits、10689个auxiliary、329个post、547个payloads、44个encoders、10个nops、2个evasion
三、Metasploit的常用模块介绍
- 漏洞渗透模块(exploits):发现了目标的漏洞之后,在Metasploit找到相应的漏洞渗透模块,就可以对目标进行入侵
- 攻击载荷模块(payload):可以帮助我们在目标上完成远程控制操作。通常这些模块既可以单独执行,也可以和漏洞渗透模块一起执行(前面文章介绍过远程控制操作了)
- 辅助模块(auxiliary):进行信息收集的模块。例如一些信息侦查、网络扫描类的工具
- 后渗透攻击模块(post):当我们成功地取得目标的控制权之后,就是这些模块大显身手的时候,它可以帮助我们提高控制权限、手机敏感信息、实施调班攻击等
三、Metasploit的帮助手册(help命令)
输入help可以查看Metasploit提供的命令和对应的描述。命令一共分为以下几类:
- 核心命令:Core Commands
- 模块命令:Module Commands
- 任务命令:Job Commands
- 资源命令:Resourve Script Commands
- 数据库后台命令:Database Backend Commands
- 登录凭证后台命令:Credentials backend Commands
- 开发商命令:Developer Commands
四、查看可以使用的模块(show命令)
如果想要查看哪一个方面的模块,就输入以下命令
- show + 模块名
例如我们查看可以使用的漏洞测试模块
五、指定查找相关模块(search命令)
如果想要查找某一个特定的模块就可以输入一下命令
- search + 关键字
例如:搜索2008年的Windowsms08_067漏洞相关的漏洞渗透模块:
例如:搜索与“Easy File Sharing HTTP Server”这个软件相关的漏洞渗透模块: