快速入门指南
Metasploit Pro是一种利用漏洞和漏洞验证工具,可帮助您将渗透测试工作流划分为可管理的部分。虽然您可以设置自己的工作流,但下面列出的是一个典型的工作流,可以帮助您开始。
这些步骤通常是:
创建项目
项目包含工作区、存储数据,并允许您将约定划分为逻辑分组。通常,您会对组织中的不同子网有不同的要求。因此,使用多个项目来表示这些需求可能是有效的。
例如,您可能希望为人力资源部门创建一个项目,为IT部门创建另一个项目。您对这些部门的需求可能会有很大差异,因此将目标划分为不同的项目是合乎逻辑的。在参与结束时,您可以为每个部门生成单独的报告,以执行比较分析,并向组织展示您的发现。
创建一个项目很容易。你可以点击新项目按钮项目页面或您可以选择项目>新项目从全局工具栏。
当新项目页面出现时,您只需提供项目名称。如果要自定义项目,还可以添加说明、指定网络范围和指定用户访问级别。
想了解更多关于项目的信息?看看这个页.
获取目标数据
接下来要做的是向项目中添加数据。有几种方法可以做到这一点:
- 运行发现扫描
- 导入您已有的数据
扫描目标
扫描是指对主机进行指纹识别并枚举开放端口,以获取网络中运行的服务的可见性的过程。扫描使您能够识别具有可与之通信的服务的活动系统,从而可以构建有效的攻击计划。Metasploit有自己的内置发现扫描程序,它使用Nmap执行基本的TCP端口扫描并收集关于目标主机的附加信息。
默认情况下,发现扫描包括UDP扫描,该扫描将UDP探测发送到最常见的UDP端口,如NETBIOS、DHCP、DNS和SNMP。扫描测试大约250个端口,这些端口通常用于外部服务,通常在渗透测试期间进行测试。
在发现扫描期间,Metasploit Pro自动将主机数据存储在项目中。您可以查看主机数据,以便更好地理解网络的拓扑结构,并确定利用每个目标的最佳方法。通常,网络拓扑提供了对目标所拥有的应用程序和设备类型的深入了解。您能够收集到的目标信息越多,就越能帮助您对测试进行微调。
运行发现扫描很简单。在项目中,单击扫描按钮。
当新发现扫描表单出现时,在中输入要扫描的主机目标地址字段。可以输入单个IP地址、用“-”描述的IP范围或标准CIDR符号。每个项目都需要出现在换行符上。
你可以只在目标范围内运行扫描;但是,如果您想微调扫描,您可以配置高级选项。例如,您可以在高级选项中指定要排除的主机,并设置扫描速度。
想了解更多关于发现扫描的信息吗?看看这个页.
导入数据
如果您使用的是漏洞扫描程序,则可以将漏洞报告导入Metasploit项目进行验证。导入的漏洞数据还包括主机元数据,您可以对其进行分析以确定其他攻击路径。Metasploit支持多个第三方漏洞扫描程序,包括Nessus、Qualys和Core Impact。
还可以将数据从一个Metasploit项目导出和导入到另一个Metasploit项目。这使您能够在项目和其他团队成员之间共享发现结果。
要将数据导入项目,请单击进口按钮,位于快速任务栏中。当导入数据页面出现时,选择从Nexpose导入或从文件导入选择。根据选择的选项,表单会显示导入文件时需要配置的选项。
例如,如果选择从Nexpose导入,则需要选择要用于运行扫描或导入站点的控制台。如果选择导入文件,则需要浏览到文件的位置。
要查看受支持的导入类型的完整列表或了解关于导入的更多信息,请参阅此页.
查看和管理主机数据
您可以在项目级或主机级查看主机数据。在项目级别,Metasploit提供了已添加到项目中的所有主机的高级视图。要访问项目视图,请选择分析>主机.项目视图最初显示了Hosts列表,其中显示了每个主机的指纹和枚举端口和服务。您还可以查看项目的所有注释、服务、漏洞和捕获的数据。要访问这些其他视图,请在项目视图中单击它们的选项卡。
要查看主机的详细信息,可以单击主机的IP地址访问单主机视图。这是深入查看特定主机的漏洞和凭据的好方法。
运行漏洞扫描
将目标数据添加到项目后,可以运行漏洞扫描以查明可能被利用的安全漏洞。漏洞扫描器利用漏洞数据库和检查来发现目标机器上存在的已知漏洞和配置错误。这些信息可以帮助您识别潜在的攻击向量,并建立攻击计划,使您能够在攻击期间损害目标。
与Nexpose的集成使您能够直接从Metasploit web界面启动漏洞扫描。Nexpose扫描可识别在每台主机上运行的活动服务、开放端口和应用程序,并尝试根据已知服务和应用程序的属性识别可能存在的漏洞。Nexpose在扫描报告中公开结果,您可以与Metasploit共享该报告以进行验证。
要运行Nexpose扫描,请单击Nexpose按钮,位于快速任务栏中。
当Nexpose配置窗体出现时,您需要配置并选择要用于执行扫描的控制台。与查找扫描类似,您需要定义要扫描的主机。您还需要选择一个可用的扫描模板,该模板定义Nexpose使用的审核级别。有关扫描模板的更多信息,请查看Nexpose文档.
要查看暴露发现的所有潜在漏洞,请选择分析>漏洞. 您可以单击漏洞名称以查看可用于攻击该漏洞的模块。
这些信息在pentest的下一个阶段:利用中变得很方便。
漏洞扫描器是有用的工具,可以帮助您快速发现目标上的潜在安全漏洞。然而,有时您可能想要避免检测并限制您所创建的噪音量。在这些情况下,您可能需要运行一些辅助模块,如FTP、SMB和VNC登录扫描器,以手动识别可能被利用的潜在漏洞。手工漏洞分析相当耗时,需要您进行研究、批判性思考和深入的知识,但它可以帮助您创建准确和有效的攻击计划。必威体育西汉姆联官网
以简单的方式查找和利用漏洞
扫描和检查漏洞的最简单方法是通过漏洞验证向导,它自动为暴露和Metasploit Pro用户验证过程。该向导提供了一个向导界面,引导您完成验证过程的每个步骤——从导入暴露数据到自动利用漏洞,再到将验证结果发送回暴露。
如果您无法访问Nexpose和/或Metasploit Pro,则验证过程需要手动分析漏洞。手动验证需要更多的腿部工作,但可以更好地控制目标漏洞。
有关漏洞验证的更多信息,请查看此页.
利用已知的漏洞
收集有关目标的信息并识别潜在漏洞后,可以进入攻击阶段。利用漏洞只是对发现的漏洞进行利用的过程。成功利用漏洞的尝试提供了对目标系统的访问,因此您可以执行窃取密码哈希和下载配置文件等操作。它们还使您能够识别和验证漏洞带来的风险。
Metasploit提供了两种不同的方法来执行利用:自动利用和手动利用。
Auto-Exploitation
自动利用的特点是交叉引用开放服务、漏洞引用和指纹,以找到匹配的漏洞。所有匹配的exploit被添加到一个攻击计划中,基本上可以识别所有可以运行的exploit。自动利用的简单目标是利用Metasploit为目标主机提供的数据,尽可能快地获得会话。
要运行自动利用,请单击开发按钮,位于快速任务栏中。
至少,您需要提供要利用的主机以及每次利用的最低可靠性。可以设置最低可靠性以确保启动的利用的安全性。可靠性级别越高,所使用的利用就越不可能使服务崩溃或对目标产生负面影响。有关ea的描述,请参阅ch模块排名,查看此页面。查看此页面。
人工开发
手动利用漏洞提供了一种更有针对性和系统性的方法。它使您能够一次运行一个选定的单个exploit。如果您想利用某个特定的漏洞,则此方法特别有用。例如,如果您知道Windows XP目标上的SMB服务器没有MS08-067补丁,您可能希望尝试运行相应的模块来利用它。
要搜索模块,请选择模块>搜索并输入要运行的模块的名称。找到精确模块匹配的最佳方法是通过漏洞引用进行搜索。例如,如果要搜索ms08-067,可以搜索“ms08-067”。您还可以通过模块路径进行搜索:利用/ windows / smb / ms08_067_netapi
.
直接从漏洞页面中找到漏洞利用的最简单方法之一。要查看项目中的所有漏洞,请选择分析>漏洞. 您可以单击漏洞名称以查看可用于攻击该漏洞的相关模块。
“单一漏洞”视图显示了可针对主机运行的漏洞列表。您可以单击开发按钮,打开模块的配置页面。
配置通用漏洞模块设置
每个模块都有自己的选项集,可以根据您的需要进行自定义。此处列出的选项太多。但是,以下是一些常用于配置模块的选项:
- 有效载荷类型-指定利用漏洞将传递给目标的有效负载类型。选择以下有效负载类型之一:
- 命令—命令执行有效负载,使您能够在远程机器上执行命令。
- 流量计-一种高级有效负载,它提供了一个命令行,使您能够动态地传递命令和注入扩展。
- 连接类型-指定Metasploit实例连接目标的方式。选择以下连接类型之一:
- 汽车-当检测到NAT时自动使用绑定连接;否则,使用反向连接。
- 绑定-使用绑定连接,这在目标位于防火墙或NAT网关之后时非常有用。
- 反向-使用反向连接,这在系统无法启动到目标的连接时非常有用。
- 洛斯特-定义本地主机的地址。
- 港口—定义要用于反向连接的端口。
- 罗斯特—定义目标地址。
- 港口—定义要攻击的远程端口。
- 目标设置-指定目标操作系统和版本。
- 利用超时-以分钟为单位定义超时。
剥削后和收集证据
成功利用漏洞的任何攻击都会导致打开会话,您可以使用该会话从目标提取信息。攻击的真正价值取决于您可以从目标收集的数据,如密码哈希、系统文件、,屏幕截图以及如何利用这些数据访问其他系统。
要查看开放会话列表,请选择会议标签。单击会话ID以查看可针对主机运行的攻击后任务。
要从被利用的系统收集证据,请单击收集按钮。
将显示所有打开会话的列表,并向您显示可以收集的证据类型。
强制执行和重用密码
访问目标最常用的方法之一是使用密码攻击。您可以使用蛮力或重用的凭证.
清理会议
当您完成一个开放会话时,您可以清理该会话,以删除可能遗留在系统上的任何证据并终止该会话。要清理会话,请到会议页面,然后单击清理按钮。
当会话清理页,选择要关闭的会话并单击清理会话按钮。
生成报告
在pentest结束时,您将希望创建一个包含pentest结果的可交付内容。Metasploit提供了许多报告,您可以使用这些报告来编译测试结果,并将数据合并为可分发的有形格式。每个报告将你的发现组织到相关的部分,显示统计数据的图表和图形,并总结主要的发现。