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