本节书摘来自异步社区《metasploit渗透测试手册》一书中的第1章1.1节介绍,作者【印度】abhinav singh,更多章节内容可以访问云栖社区“异步社区”公众号查看。
第1章 给安全专业人员的metasploit快速提示
metasploit渗透测试手册
本章讲解下述内容:
在windows系统中配置metasploit
在ubuntu系统中配置metasploit;
backtrack 5与metasploit 终极组合;
在单机上构建渗透测试环境;
在带有ssh连接的虚拟机上构建metasploit环境;
从界面开始——metasploit的“hello world”;
在metasploit框架中建立数据库;
使用数据库存储渗透测试结果;
分析数据库中存储的渗透测试结果。
1.1 介绍
metasploit是当前信息安全与渗透测试领域最流行的术语,完全颠覆了已有的渗透测试方式。metasploit之所以如此受欢迎,是因为其所能执行的大部分任务可以简化渗透测试工作以使得系统更加安全。所有流行的操作系统都支持metasploit,并且metasploit框架在这些系统上的工作过程也几乎是一样的。本书中的内容和示例主要以backtrack 5操作系统为基础,因为该操作系统预装有metasploit及在其上运行的其他第三方工具。
首先介绍metasploit框架及与其相关的各种术语。
metasploit框架:h.d.moore在2003年开发的一个免费的、开源的渗透测试框架,后来被rapid 7公司收购。该框架目前的稳定版是使用ruby语言开发的。metasploit框架包含了世界上最大且经过测试攻击的代码数据库,每年下载量超百万。该框架也是迄今为止使用ruby脚本语言构建的最复杂项目之一。
漏洞:系统中存在的可能被攻击者或渗透测试人员用以破坏系统安全性的弱点。漏洞可能存在于操作系统中、应用软件中,甚至存在于网络协议中。
漏洞利用代码:是攻击者或测试人员针对系统中的漏洞而设计的,用以破坏系统安全性的攻击代码。每个漏洞都有自己相应的攻击代码,metasploit v4中包含超过700个针对不同漏洞的漏洞利用代码。
攻击载荷:完成实际攻击功能的代码,在成功渗透漏洞后会在系统上运行。攻击载荷最常见的用途是在攻击者和目标机器之间建立一个连接,metasploit v4中包含超过250个实现不同攻击功能的攻击载荷。
模块:模块是组成完整系统的基本构建块。每个模块执行某种特定的任务,将若干模块组合成单独的功能主体可构成一个完整的系统。这种体系结构最大的优势在于,开发人员可以很容易地将新的漏洞利用代码和工具整合到metasploit框架中。
metasploit框架采用的是模块式体系结构,漏洞利用代码、攻击载荷、编码器等都可以视为单独的模块。下图展示了metasploit的体系结构。
进一步解释上图的内涵。
metasploit使用不同的库,这些库是保证metasploit框架正确运转的关键。库实际上是预定义的任务、操作和功能的组合,框架中不同模块都可以使用这些库完成相应功能。metasploit框架最基本的组成部分是ruby扩展库(rex),rex提供的某些组件包含wrapper socket子系统、协议客户端与服务器、日志子系统、漏洞利用工具类及大量其他有用的类。rex本身在设计上是独立的组件,不像有些组件需要默认的ruby安装。
msf core库对rex库进行了一些扩展,core主要负责实现所有与漏洞利用模块、会话和插件的接口。这一核心库由框架的基础库进行扩展,可提供简单的用于处理框架核心功能的包裹器过程,同时也提供处理框架不同方面功能的工具类,例如对状态模块进行序列化以便适应不同的输出格式。最后,框架的用户接口(ui)对基础库进行了扩展,实现了对各种类型用户接口的支持,例如命令行控制台和web界面。
metasploit框架提供了4种不同的用户接口,分别是msfconsole、msfcli、msfgui及msfweb。强烈建议使用者熟练掌握这些接口,但在本书中主要介绍和演示的是msfconsole,原因在于msfconsole对metasploit框架提供了最好的支持,对框架所有功能的发挥起到杠杆作用。
下面开始讲解本章的具体内容,并对多个方面进行示例演示。
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。