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