# 五、确定方法 在本章中,我们将介绍一些与测试方法有关的不同参考文献。在[第一章](01.html "Chapter 1. Introducing Penetration Testing")*介绍渗透测试*中,我们讨论了一种抽象的方法,但在本章中,我们将更详细地研究它。这是因为现在我们已经为设计设定了初始目标范围环境,我们希望为我们的测试实践研究一个系统化的过程。如果没有合适的方法,我们会被归类为**特设**测试组,这是专业测试人员应该避免的。我们将讨论以下主题: * **开源系统测试方法手册**(**OSSTMM** * 检查 * NIST SP-800-115 * 进攻性安全 * 其他方法 * 定制 本章将为我们提供多种测试方法,以便我们在选择或构建自己的测试方法时能够做出明智和明智的选择。 # OSSTMM **OSSTMM**是**安全与开放方法研究所**(**ISECOM**于 2001 年首次创建的。来自世界各地的许多研究人员参与了它的创建。ISECOM 是一个非营利组织,在巴塞罗那、西班牙和纽约设有办事处。 OSSTMM 的前提是验证。OSSTMM 是一本同行评审的手册,提供了专业的测试方法和指导。此外,由于该手册由多种来源编写,因此具有国际风味。 OSSTMM 正在不断发展;您可以从[下载最新版本 http://www.isecom.org/research/osstmm.html](http://www.isecom.org/research/osstmm.html) 。 在撰写本书时,OSSTMM 的当前版本是第 3 版,但正在审查第 4 版草案。下载这两个版本并查看更新版本中的差异和更改是一个好主意。下载页面的示例如以下屏幕截图所示: ![The OSSTMM](graphics/477-1_05_1.jpg) 如前一个屏幕截图所示,您必须是 ISECOM 金牌或白金团队的一员才能下载手册的草稿版本。 下载图像后,打开手册。我们将了解手册的一些部分,更重要的是,测试方法。您将在手册中注意到的第一件事是关于手册所提供内容的陈述。这里引用了这一重要声明的一部分: > *“本手册提供的测试用例可产生经验证的事实。这些事实提供了可操作的信息,可以显著提高您的操作安全性。通过使用 OSSTMM,您不必再依赖一般最佳实践、轶事证据或迷信,因为您将获得特定于您需求的验证信息,从而为您的安全决策提供依据。”* 正如声明所说,本手册提供了一种方法和解决方案,可以应对我们的测试挑战。出于我们的目的,我们不会通读整个手册。我们的目的是介绍本章中存在的一些不同的方法,然后让您进行研究并采用其中的一种。或者,您也可以遵循推荐的方法,即根据的部分和组件以及您研究过的其他方法创建您自己的方法。 在 OSSTMM 之后部署安全测试时使用的主要项目是**安全测试审计报告**(**STAR**)。该样本位于 OSSTMM 的末端。在阅读报告之前,我们将讨论 OSSTMM 关注的组件。OSSTMM 想要澄清的一个主要问题是,它不是一本黑客书籍;这是一种专业的测试方法,取决于以下方面: * 要测试的目标类型 * 您将如何测试它们 * 发现的控件类型 当您回顾 OSSTMM 时,您会发现本手册的主要目的是为准确描述作战安全提供科学的方法。该手册可以为我们几乎所有的测试角色提供参考;此外,该方法可以应用于渗透测试、道德黑客、安全评估、漏洞评估、红队等领域。事实上,该手册可用于支持我们可能参与的任何测试环境。 据手册的创建者称,该手册还有第二个目的,这是为完成经认证的 OSSTMM 审核提供指导。OSSTMM 审计的重点是以下内容: * 试验进行得很彻底 * 测试包括所有必要的通道 * 测试姿势符合法律规定 * 结果是可以量化的 * 结果一致,重复性好 * 结果仅包含从测试中得出的事实 正如预期的那样,本手册重点介绍了 OSSTMM 过程的认证。如果这是你想要完成的事情,欢迎你来研究。出于本书的目的,我们将只研究该方法的一些不同组成部分。长度为 213 页,如果您选择这样做,则可能需要一些时间来查看方法中包含的所有材料。我们将在这里讨论的组件列表的要点是,结果是一致的和可重复的。这就是我们想要在测试中实现的,也就是说,它应该是一个可重复的过程,无论我们尝试哪种测试,系统过程都是一样的。 OSSTMM 对运营安全的关注是通过查看多个通道的安全性来实现的,这些通道包括可通过任何载体访问的人、物理、无线、电信和数据网络。 在讨论这些渠道之前,我们将了解 OSSTMM 过程中需要注意的要点。您可能还记得,OSSTMM 提供了操作安全性的度量。正如手册所述,这种操作安全是分离和控制的概念。此外,为了使威胁有效,它必须与它试图攻击的资产进行交互。 当你看到这一点时,OSSTMM 所说的是,如果我们能够实现威胁和资产之间的完全分离,我们就可以拥有 100%的安全性!虽然这是我们希望实现的目标,但对于我们今天拥有的大多数网络和服务来说,这是不可能实现的。因此,我们采用控制措施,以减轻和降低因提供可利用威胁的访问而带来的风险。OSSTMM 将运营安全分为以下几部分: * 攻击面 * 矢量 * 五旬期证券 **攻击面**缺乏具体的分离和控制。**向量**是与目标上发现的弱点交互的方向,最后是**pentest security**,它平衡了安全性和控制及其操作和限制。本手册继续介绍并定义了一个完整的术语,但这超出了我们在此要介绍的范围。 我们将回顾其中一个频道的详细信息,即无线频道,而不是查看每个频道的详细信息。我们将讨论频谱安全的组成部分,并将其定义为**电子安全**(**ELSEC**)、**信号安全**(**SIGSEC**)和**发射安全**(**EMSEC**的安全分类,其定义如下: * **ELSEC**:这是拒绝未经授权访问来自电磁源的信息的措施 * **SIGSEC**:这是保护无线通信免受未经授权的访问和干扰 * **EMSEC**:这是防止截获用于无线通信的机器和设备发射的措施 在测试无线设备时,有许多因素需要考虑。最重要的因素之一是测试仪的安全性。有许多电磁和微波辐射源会对听力和视力造成伤害。因此,在-12dB 或更大的测量范围内,可能需要分析员穿戴防护设备。不幸的是,这是一个经常被忽视的问题,但是测试人员必须在可能使他们处于危险的环境中受到保护。靠近这些类型的污染源有许多潜在危险。因此,在使用天线进行室内外测试时,确保测试场地附近的信号频率和强度均已评估。OSSTMM 中详细讨论了这些保护措施。以下屏幕截图显示了本手册中一些注意事项的示例: ![The OSSTMM](graphics/477-1_05_3.jpg) 现在已经简要讨论了身体方面的考虑,接下来要讨论的是姿势回顾。 ## 姿势回顾 姿势检查由以下组件定义: * **政策**:审核并记录政策、合同和**服务水平协议**(**SLA**) * **立法**:审查并记录国家和行业法规的立法 * **文化**:回顾并记录组织安全文化 * **年龄**:回顾并记录系统、软件和所需服务的年龄 * **易碎物品**:审查以及需要特殊处理的文件系统、软件和服务 ## 物流 接下来我们要做的就是物流;这被定义为通道环境的准备,以帮助我们防止可能导致不准确结果的误报和漏报。有三件事我们将考虑我们的无线测试,它们如下: * **通信设备**:我们希望确保在测试之前和测试期间,所有源的任何排放物都被制成图表。作为参考,对的攻击被称为 Van Eck phreaking。有关这方面的简要说明,请参阅[http://www.techopedia.com/definition/16167/van-eck-phreaking](http://www.techopedia.com/definition/16167/van-eck-phreaking) 。 * **通信**:此测试在整个传输介质中使用哪些协议。 * **时间**:这是进行测试的时间范围。例如,我们被允许测试 24 小时,或者有特定的测试时间框架。 我们现在已经准备好进行测试的下一步,即主动检测验证。 ## 主动检测验证 这是过程,在该过程中,我们确定控制措施到位;同样,这有助于我们在测试中减少误报的数量。这里需要注意的是,作为测试人员,我们希望向客户解释,他们能向我们提供的信息越多,我们在测试方面能做的就越多。作为测试的一部分,我们可以研究所有的信息,但它在测试开始时为我们提供了对环境的更深入的理解。这让我们可以更专注于弱点的细节,而不是发现过程。我们想回顾两件主要的事情,它们如下: * **通道监控**:此查看入侵监控和信号篡改的控制 * **通道调节**:这决定了提供潜在信号阻塞或阻塞的控制是否到位,并寻找未经授权的活动 ## 可见性审计 在我们审查方法时,我们接下来会遇到可见性审计步骤。本为人员可视性枚举验证测试流程。根据 OSSTMM,我们解决了以下三个领域: * **拦截**:定位访问控制和周边安全以及拦截或干扰无线信道的能力 * **被动信号检测**:使用多个不同的天线确定可能泄漏到或泄漏到测试区域的频率和信号 * **有源信号检测**:检查目标区域内的**射频识别**(**RFID**等源触发响应 ## 访问验证 接下来我们要回顾的是访问验证。本是对范围内人员接入点的枚举测试。我们审查以下内容: * **评估对无线设备**的管理访问:确定接入点在不使用时是否关闭 * **评估设备配置**:使用天线分析测试并记录无线设备设置为可能的最低功率设置,以维持足够的运行,从而将传输保持在定义的边界内 * **评估无线网络的配置、认证和加密**:验证是否已将接入点**服务集标识符**(**SSID**)从默认设置更改为管理接口未设置默认密码 * **认证**:列举并测试认证和授权方法中的不足之处 * **访问控制**:评估访问控制、周边安全以及拦截或干扰通信的能力 ## 信任验证 接下来我们将讨论信任验证;该步骤是测试范围内人员之间的信任以及无需识别或认证即可访问信息的过程。本测试步骤涉及以下项目: * **虚假陈述**:测试并记录客户的认证方式 * **欺诈**:测试并记录使用欺诈凭证访问无线设备的要求数量 * **资源滥用**:测试并记录在没有任何已建立凭证的已知可信来源之外发送数据的需求数量 * **盲目信任**:测试并记录与虚假或受损接收方的连接 ## 控制验证 既然我们已经讨论了信任验证过程,接下来我们将讨论控制验证过程。这包括以下项目: * **不可否认性**:列举并进行测试,以正确识别和记录对特定属性的访问或交互,作为挑战 * **保密**:列举并测试阻尼设备的使用,以减少电磁信号的传输,以及保护无线传输的控制措施 * **隐私**:确定保护设备的物理访问控制级别 * **完整性**:确定数据只能由授权用户访问和修改,并确保有足够的加密 ## 工艺验证 过程验证用于检查人员在姿势评审中定义的既定过程中功能安全意识的维护。此步骤的组成部分如下所示: * **基线**:检查并记录基线配置,确保安全立场符合安全策略 * **适当屏蔽**:检查并确定适当屏蔽到位,以屏蔽无线信号 * **尽职调查**:映射并验证实践与要求之间的差距 * **赔偿**:记录并列举目标和服务已投保盗窃或损坏险 ## 配置验证 配置验证是我们检查规避或破坏资产功能安全的能力的步骤。此步骤所需的项目如下: * **常见配置错误**:对接入点进行暴力攻击,确定密码强度。验证使用的密码是否复杂,是否由许多不同的字符类型组成。 * **配置控制**:根据安全策略检查控制并验证配置。 * **评估和测试接线和发射**:验证所有接线是否输入和输出屏蔽设施。 ## 属性验证 财产验证检查可能非法或不道德的信息和物理财产;此步骤包括以下内容: * **共享**:验证人员之间共享财产的程度,无论是有意还是无意,通过许可证、资源管理不当或疏忽 * **流氓无线收发器**:对所有设备进行完整清点,并验证组织是否有适当的安全策略来解决无线技术的使用问题 ## 隔离审查 隔离审查是对私人和个人信息与业务信息进行适当隔离的测试。审查包括以下内容: * **隐私遏制映射**:映射隐私信息,如信息存储的内容、方式和位置以及通过哪些渠道进行通信 * **披露**:检查并记录私人信息披露的类型 * **限制**:检查并记录网关和备选通道,供身体有限制的人使用 ## 接触验证 曝光验证是发现信息的过程,这些信息可能导致经过身份验证的访问,或者允许使用同一身份验证访问多个位置。此步骤的要求如下: * **曝光映射**:枚举并映射有关组织的人员信息以及隐式存储并归类为敏感的任何信息 * **评测**:检查并使用各种天线验证带有设备信息的无线信号是否超出要求的边界 ## 竞争情报侦察 竞争情报侦察测试是针对清除属性,可以分析为商业情报;它是一种营销领域,用于确定企业的竞争对手。这方面的要求包括以下内容: * **业务研磨**:通过分析被动和主动发射以及信息存储和通信的内容、方式和位置,从范围内映射目标 * **业务环境**:探索并记录业务细节,包括联盟、合作伙伴、主要客户、供应商和分销商 * **组织环境**:检查并记录业务财产在运营过程中的披露情况 ## 检疫验证 检疫验证是对检疫有效使用的确定和测量,因为它涉及进入目标和在目标范围内。这方面的要求如下: * **遏制过程识别**:识别并检查所有渠道中目标的隔离方法和过程是否存在攻击性接触 * **防护等级**:验证防护状态,包括时间长度和所有交互有隔离方法的通道 ## 权限审核 特权审核测试将调查向用户提供凭据的位置,以及是否授予使用这些凭据进行测试的权限。这方面的要求如下: * **身份**:检查并记录通过合法和欺诈手段获取身份的过程 * **授权**:验证使用欺诈性授权获取特权 * **上报**:通过普通用户的权限验证并映射信息访问权限,尝试获取更高权限 * **征服**:列举并测试其使用的所有通道或其启用控制的地方是否存在不足 ## 生存能力验证 生存能力验证是确定并在试图导致服务失败的范围内测量目标恢复力的过程。要求如下: * **连续性**:枚举并测试访问延迟和服务响应时间 * **弹性**:映射并记录从安全漏洞断开通道的过程 ## 警报和日志审查 警报和日志审查是执行活动之间的差距分析,包括第三方方法记录的这些活动的真实深度。这方面的要求如下: * **报警**:验证并列举报警系统 * **存储和检索**:记录并验证对报警、日志和存储位置的非特权访问 OSSTMM 的无线测试部分到此结束。正如你所看到的,这是一个相当深入的参考,是一个彻底的,在业界公认的。虽然 OSSTMM 是一个很好的参考,但我们大多数人都会使用它的组件,而不是所有需要的过程。我们将在 OSSTMM 中介绍的最后一件事是星星。STAR 的目的是提供有关测试范围的目标攻击面信息的执行摘要。您可以在[第 13 章](13.html "Chapter 13. Building a Complete Cyber Range")*构建完整的网络范围*中了解更多信息。 # 检查 我们包含了**检查**的相关信息,因为多年来我们在英国做了很多评估;因此,这是在那里进行评估的一个重要部分,尤其是在为政府或国防部进行安全评估时。 所以,你可能想知道支票是什么。在定义之前,我们将提供有关作为 CHECK 建立一部分的组的其他详细信息。该小组是国家信息保障技术权威机构,或者通常称为**通信电子安全小组**(**CESG**)。CESG 提供 IT 健康检查,用于评估处理标记信息的系统。 当一家公司属于 CHECK 时,它向客户保证,如果遵守 CHECK 指南,该公司将提供高水平的优质服务。CHECK 可用于包含机密信息的系统,但对于机密信息,需要获得 CESG 的额外许可。公司成为检查成员的挑战之一是要求测试人员或团队成员必须至少持有**安全检查**(**SC**许可证,才能访问保护标记信息。更多信息可在以下链接中找到: [http://www.cesg.gov.uk/servicecatalogue/CHECK/Pages/WhatisCHECK.aspx](http://www.cesg.gov.uk/servicecatalogue/CHECK/Pages/WhatisCHECK.aspx) 此外,团队成员可以通过考试来满足要求。此处将不讨论考试的详细信息,但以下屏幕截图中显示了一个包含其他参考信息的示例: ![CHECK](graphics/477-1_05_4.jpg) 现在我们已经简单地了解了什么是检查,现在我们可以了解它为我们进行笔试或评估提供了什么。检查由确定检查系统基本要求的基本原则组成。 以下屏幕截图显示了成员资格和分配的两个组成部分的示例: ![CHECK](graphics/477-1_05_5.jpg) 我们最不想从检查中看到的是报告要求。作为专业安全测试人员,我们要做的最重要的事情之一就是编写一份报告。不幸的是,这是通常得到最少关注的事情之一。当涉及到测试时,大多数课程都会向您展示开发和其他方面的展示技巧。然而,现实情况是,你花在学习如何起草和创建报告上的时间越多,你就越能更好地满足客户的需求,这是一份关于你的调查结果的报告,而且是一份基于这些调查结果改进他们安全态势的建议的完整列表。 以下屏幕截图显示了检查中报告要求提交的信息示例: ![CHECK](graphics/477-1_05_6.jpg) 经核实,我们掌握了该报告的构成信息。它是一个高级抽象,由六个主要主题组成。有关每个主题的其他说明,请参阅以下链接: [http://www.cesg.gov.uk/servicecatalogue/CHECK/Pages/CHECKReportRequirements.aspx](http://www.cesg.gov.uk/servicecatalogue/CHECK/Pages/CHECKReportRequirements.aspx) 六个主要议题如下: * 报告作者应确保报告可读且可供客户访问 * 报告应提供参与健康检查的个人的详细信息 * 报告应标记为网络包含的信息所需 * 报告应传达健康检查的背景、范围和背景 * 应准确识别漏洞 * 每个已识别的漏洞都应与补救解决方案相关联 再一次,这是对主题的浓缩解释,但它确实符合我们的目的。提醒您,如果合同或甚至您的合同投标涉及国防部或联合王国政府的范围和领域,您需要熟悉支票。值得注意的是,加拿大也参与了检查要求。 # NIST SP-800-115 国家标准与技术研究所的专门出版物(NIST-SP-800-115)是信息安全测试和评估的技术指南。本出版物由 NIST 的**信息技术实验室**(**ITL**制作。 指南将安全评估定义为确定被评估实体满足特定安全要求的有效性的过程。当您查看指南时,您将看到它包含大量用于测试的信息。虽然文档往往不会像我们希望的那样经常更新,但它是一个可行的资源,可供我们在构建测试方法时参考。本文件包括以下主要章节: * 介绍 * 安全测试和检查概述 * 复习技巧 * 目标识别与分析技术 * 目标漏洞验证技术 * 安全评估规划 * 安全评估执行 * 测试后活动 正如我们对 OSSTMM 所做的那样,我们将只看一小部分文档的细节。NIST 网站上有许多我们应该熟悉的参考资料。**特别出版物**主页示例如下图所示: ![NIST SP-800-115](graphics/477-1_05_7.jpg) NIST 网站和参考资料应在您喜爱的浏览器中添加书签,因为它们不断发布出版物供审查。花点时间回顾这些预发行的出版物总是一个好主意;这是另一种帮助您保持技术更新的方法。 根据 NIST 出版物,该文件为我们提供了专业信息安全测试和评估的流程和技术指导参考,以下屏幕截图显示了这方面的具体内容: ![NIST SP-800-115](graphics/477-1_05_8.jpg) 对于那些想要更详细地审查 NIST SP800-115 的人,您可以从 NIST 网站[下载该文件以及任何其他特殊出版物文件 http://csrc.nist.gov/publications/PubsSPs.html](http://csrc.nist.gov/publications/PubsSPs.html) 。 根据 NIST,为了使组织从安全评估中获得最大值,建议如下: * 建立信息安全评估政策 * 实施可重复且记录在案的评估方法 * 确定每个安全评估的目标,并相应调整方法 * 分析调查结果并开发风险缓解技术以解决弱点 正如这些建议指出的,这是一个组织需要遵循的良好基础,以帮助改善他们的安全姿态。不幸的是,很少有组织明确定义并实施了这些准则,特别是在我参与的评估中。列表中的第一个是安全策略,它是最重要的指导原则之一,但往往很少受到组织的关注。重要的是,一个组织不仅要有一个定义良好的政策,而且要遵循它!我们将不关注这些项目,因为我们对本书中的测试和评估过程和方法更感兴趣。但是,作为测试人员,我们必须了解建议的类型,以便我们能够将这些信息传递给我们的客户,或者至少向他们提供参考信息,以便他们能够根据自己的意愿进行探索。 我们需要看的出版物的第一部分是安全测试和检查概述;本部分分为以下几部分: * 信息安全评估方法 * 技术评估技术 * 比较测试和评估 * 测试视点 ## 信息安全评估方法 随着我们阅读这本书,我们将继续强调遵循方法论的重要性,这也是我们将从 NIST 出版物中学习和关注的内容。在 NIST 指南中,他们将该方法定义为一个可重复且记录在案的评估过程,这可能是有益的;它为测试提供了一致性和结构,为新的评估人员提供了培训,并解决了与安全评估相关的资源限制。几乎所有评估都有某种类型的限制;这些限制可能是时间、人员、硬件、软件或其他一些挑战。为了缓解这些类型的挑战,组织需要了解他们将执行什么类型的安全测试和检查。 通过制定适当的方法,花时间确定所需资源,并规划评估结构,组织可以缓解资源可用性的挑战。这样做的一个巨大好处是,组织可以建立可用于后续评估的组件。随着本组织进行越来越多的评估,这一过程将继续得到完善,同时改进测试所需的时间。 NIST 的方法是定义阶段,最小阶段定义如下: * **规划**:这是安全评估的关键阶段;用于收集必要的信息。正如我们之前所讨论的,您计划评估所花费的时间越多,评估可能发展得越好。在 NIST 规划阶段,我们确定资产、针对已定义资产存在的威胁以及为缓解这些已定义威胁而实施的安全控制。 * **执行**:执行阶段的主要目标是识别漏洞,并在适当时对其进行验证。正如我们之前所讨论的,漏洞的验证是对已识别的漏洞的实际利用。我们还讨论过,这不是大多数评估包含在工作范围内的事项之一,但如果它在工作范围内,就 NIST 的指导而言,它将位于此处。这里值得注意的是,没有两种评估是相同的。因此,该步骤的实际组成将根据正在执行的过程和方法而有所不同。 * **执行后**:执行后阶段重点分析识别的漏洞,以确定根本原因,制定缓解建议,并制定最终报告。 NIST 还定义了其他存在的方法,因此,专业安全测试人员关注的不仅仅是其中一种方法,这一点很重要。我们也同意这一点,这就是为什么我们展示现有的不同方法,并讨论将它们结合起来的方法。 ## 技术评估技术 有许多不同的技术评估技术可用,我们将关注 NIST 出版物本节中具体讨论的技术,而不是解决这些技术。本出版物介绍了以下评估方法: * **审查技术**:这些是用于评估系统、应用、网络、策略和程序以发现漏洞的检查技术。评审技术一般采用人工方式进行。 * **目标识别和分析技术**:识别系统、端口、服务和潜在漏洞。这些可以手动执行;然而,更常见的情况是,使用自动化工具完成这些任务。 * **目标漏洞验证技术**:在此过程中,我们可以手动或使用工具对漏洞进行验证。这里的技术,如密码破解、渗透测试、社会工程和应用安全测试,都是模拟攻击者的技术。 正如我们多次指出的那样,没有任何方法能够显示完整的画面,因此专业安全测试人员将使用多种不同的技术来获得所需的信息。 NIST 出版物明确指出,它不是一个参考文献,它不会为您提供应该使用哪种技术的答案。相反,重点更多地放在研究如何执行不同的技术。 ## 对比测试和检查 考试是通过审查组织的文件来定义的。这是检查的唯一功能,我们在此验证组织是否定义了策略,并且是否遵守了。经常发现不准确的领域之一是架构图,这是我们在执行检查步骤时检查的领域之一。 在大多数情况下,考试对系统或网络没有影响。有可能发生影响,但这种情况极为罕见,出于我们的目的,我们将坚持认为对正在测试的网络系统没有影响。 的确,使用扫描和其他技术进行的测试能够而且更有可能提供比通过检查获得的更准确的组织安全态势图。然而,这种类型的检查也确实会影响组织的系统和/或网络。因此,在使用文件时,有时会使用检查来限制对被评估现场的影响。正如 NIST 所说: > *“在许多情况下,结合测试和检查技术可以提供更准确的安全性视图。”* 这是我们一直遵循的方法,随着本书的进展,我们将继续遵循它。 ## 测试视点 众所周知,可以从多个角度执行测试。我们将讨论其中一些地点,以及它们如何成为我们评估方法的一部分。根据我们将讨论的 NIST 出版物,我们有外部和内部观点。外部测试在组织外围进行,并从外部查看安全态势;此外,它是从互联网和外部攻击者的角度进行的。对于内部测试,评估员从内部进行工作,并被模拟为内部攻击者或渗透外围防御的外部攻击者。此测试侧重于系统级安全性和配置以及身份验证、访问控制和系统强化。 当同时进行内部和外部测试时,通常首先进行外部测试。当同一测试人员进行测试时,这是有益的,以防止他们开发外部测试人员不会拥有的内部信息,从而使测试无效或使测试不可信。在进行内部测试时,客户端不应对网络架构进行更改。 ## 明与暗 根据 NIST 的说法,公开或白帽测试涉及在 IT 员工了解的情况下执行外部和/或内部测试。也就是说,员工处于警戒状态,并且知道正在进行评估。在某些情况下,这有助于限制测试的影响。此外,它还可以作为一个培训机会,让组织工作人员了解更多关于测试的信息,在某些情况下,还可以了解他们如何为组织进行自我评估。 根据 NIST 的说法,隐蔽或黑帽测试采用对抗性方法进行测试。也就是说,它在组织的 it 员工不知情的情况下执行测试,但得到了上层员工和管理层的许可。在某些情况下,组织需要指定一个受信任的第三方,以确保事件响应计划不会因测试而生效。秘密测试的目的是检查对手可能造成的损害。此外,该测试并不侧重于识别漏洞,也不测试每个安全控制。此测试纯粹是对抗性的,通常涉及发现漏洞,然后利用漏洞访问系统和/或网络。 隐蔽测试既耗时又昂贵。这就是为什么大多数测试都以公开的方式进行的原因。这并不意味着客户永远不会要求进行隐蔽测试。这种可能性总是存在的,这就是为什么它仍然是 NIST 方法学的一个重要组成部分。 NIST 出版物的下一部分是目标识别和分析技术部分。从这一点开始,我们将不回顾本节中的所有主题。我们将在继续的过程中强调需要注意的要点。在本节中,我们将介绍评估团队成员的技能。以下屏幕截图显示了一个示例: ![Overt and covert](graphics/477-1_05_9.jpg) 正如前面的屏幕截图所示,四种主要技术中的三种需要 TCP/IP 知识作为基本技能集。这与我在行业中看到的情况是一致的,这就是理解协议并能够在数据包级别分析它们的重要性。阅读本文的许多人可能认为,当涉及 TCP/IP 时,你需要有广泛的背景和高水平的知识,这是一件好事。不幸的是,我遇到的大多数顾问或想成为顾问的人都不具备 TCP/IP 所需的详细知识。这让我写了一门关于安全的基础和核心概念的课程。本课程的主要内容之一是 TCP/IP。作为一名测试人员,您必须了解网络模型的所有层,并且在相应层的数据包级别上解释和分析不同的事件。 接下来我们要回顾 NIST 出版物中关于目标漏洞验证技术的部分。专业安全测试的这一步称为 pen 测试。根据 NIST 的定义,本出版物的这一部分讨论了在方法的其他步骤中发现的漏洞的验证。这一步的目的是证明该漏洞不仅存在,而且还会造成可利用的安全隐患。正如我们前面提到的,漏洞验证行为(通常指利用漏洞)并不是 100%。因此,在测试阶段,我们必须彻底、系统地进行测试,以便我们能够识别那些将为我们提供最大成功验证机会的漏洞,这一点至关重要。值得注意的是,这种技术带来的风险最大。这是因为这些技术更有可能影响目标。此外,这可能并且已经不止一次地使被测目标坠毁。在执行验证时,务必谨慎行事。 本节包含 NIST 定义的渗透测试阶段。根据 NIST,渗透测试概念由四个阶段定义。这四个阶段是**计划**、**发现**、**攻击**和**报告**。NIST 出版物中的示例如下图所示: ![Overt and covert](graphics/477-1_05_10.jpg) 在规划阶段,确定规则并最终确定和记录批准。必须由组织的合格代表以书面形式批准。计划为成功的穿透测试奠定基础。 发现阶段由两部分组成;第一部分是实际测试的开始,包括信息的收集和扫描。在发现阶段的第一部分中收集的信息显示在以下屏幕截图中: ![Overt and covert](graphics/477-1_05_11.jpg) 发现阶段的第二部分是漏洞分析发挥作用的地方。这包括获取我们以前发现的信息,并将其与漏洞数据库进行比较。就像我们在本书前面所做的那样,该过程寻找我们已经识别的信息,然后发现我们在进入下一阶段攻击时可能利用的漏洞。在大多数情况下,这最初是通过自动扫描仪进行的。一旦扫描器识别出一个潜在的漏洞,我们接着对发现的漏洞进行更深入的调查,看看它是否真的是一个弱点,以及我们如何利用漏洞或验证漏洞。因此,此过程是手动的,可能很耗时。 攻击阶段是我们通过尝试利用已识别的潜在漏洞来验证这些漏洞的阶段。如果我们在验证中成功,则意味着漏洞有效且漏洞存在。因此,如果攻击不成功,并不意味着漏洞不存在;它只是意味着我们在尝试验证时无法成功利用它。这可能有多种原因,本章不在的讨论范围之内。另一点需要考虑的是,我们可以利用机器,但只有低级别或非特权用户的访问级别。测试人员可以升级他们的权限并获得对其他资源的访问权。当我们发现我们可能利用的信息时,这些都是我们作为测试人员所做工作的组成部分。 以下屏幕截图显示了一个示例: ![Overt and covert](graphics/477-1_05_12.jpg) 攻击阶段的前一个屏幕截图中的阶段将在很大程度上取决于工作范围。因此,正如我们所提到的,为规划阶段定义清晰简洁的工作范围对于专业安全测试的后续组件至关重要。 NIST 出版物中定义的渗透测试的最后阶段是报告阶段。同样,正如我们前面提到的,我们在这个阶段为客户生成可交付成果。它也是与其他阶段同时进行的关键组件。因此,在测试结束时,我们编制一份调查结果报告并提供给客户。这是评估的展示;它向客户展示了所做的工作,并向他们提供了调查结果的详细清单。此外,对于每个发现,它提供了对其的分析以及消除或减轻漏洞风险的建议或程序。 我们将通过解释 NIST 出版物中的内容来结束讨论。存在与所有技术和技术组合相关的风险。因此,为了确保各项技术尽可能安全、准确地执行,建议测试人员具备一定的技能水平。其中一些已在上一个屏幕截图中显示,在本节中,我们有另一个关于技能的指南,如下屏幕截图所示: ![Overt and covert](graphics/477-1_05_13.jpg) 值得注意的是,上一个屏幕截图中确定的技能仍然参考了 TCP/IP 知识,但现在我们已经从一般知识水平提升到了广泛的知识水平。作为一名专业的安全测试人员,再次强调在最低级别理解 TCP/IP 的重要性。 ## 进攻性安全 进攻性安全团队负责许多项目,我们将作为专业安全测试人员进行探索。的例子包括 Kali 发行版、metasploit 发布的指南、谷歌黑客数据库和漏洞数据库。如果您访问攻击性安全网站[http://www.offensive-security.com/](http://www.offensive-security.com/) ,您将无法找到实际方法的参考,但由于 Kali 发行版是该集团维护的项目,我们可以在其中寻找方法。以下屏幕截图显示了 Kali 中的方法示例: ![Offensive Security](graphics/477-1_05_14.jpg) 如前一个屏幕截图所示,包含在 Kali 发行版中的方法遵循了我们在其他示例中介绍的类似步骤。如上所述,进攻性安全小组还保留了**metasploit 释放**的优秀参考资料。我们可以在这些步骤中练习一种方法,如以下屏幕截图所示: ![Offensive Security](graphics/477-1_05_15.jpg) 关于**metasploit**参考文献的伟大之处在于,在主题中,有使用 metasploit 框架的详细步骤,以支持测试方法中的不同步骤。以下屏幕截图显示了在**流量计脚本**下可以找到的步骤示例: ![Offensive Security](graphics/477-1_05_16.jpg) 我们将在这里停止 metasploit 释放的引用。在继续之前,如果您想更熟练地使用 metasploit 框架,建议研究此处提供的信息。这是最好的参考之一,我们必须释放工具的力量。 ## 其他方法 如果你在互联网上搜索,你会发现在安全测试的方法论方面有很多参考文献,如果你扩展到包括风险评估,那么这些参考文献的数量会增加得更多。您找到的许多参考资料已经有一段时间没有更新了。我们已经介绍了其中的一些,在这里,我们将更简要地介绍一个。 如果您曾经或曾经参加过由国际电子商务顾问委员会提供的认证道德课程,您会发现在课程的每个模块结束时,都有一个专门介绍渗透测试的部分。在本文中,您将发现一个流程图,该流程图显示了流程中的每个项目,它还提供了一个工具示例,用于获取该步骤的结果。以下屏幕截图显示了一个示例: ![Other methodologies](graphics/477-1_05_17.jpg) 前面的示例是渗透测试枚举步骤的流程图;这是创建渗透测试方法文档的极好起点。事实上,建议您构建这些流程图并对其进行分层,以便您可以在现场随身携带,并且它们可以作为您遇到的不同类型测试的参考。 ## 定制 我们已经讨论了许多方法论,从这些方法论中,我们需要回顾中存在的不同参考文献,然后根据您的研究定制您自己的方法论。同样重要的是要强调,您的方法应该是动态的,当您在测试中取得进展时,根据需要对其进行调整和定制,以满足您和您的团队的需要。 让我们回顾一下我们在[第 1 章](01.html "Chapter 1. Introducing Penetration Testing")*介绍渗透测试*中介绍的高级抽象方法。该方法包括以下步骤: * 计划 * 非侵入式目标搜索 * 侵入式目标搜索 * 数据分析 * 报告 这种方法对于我们最初接触专业安全测试是足够的,但现在我们已经审查了许多参考文献,我们的方法需要更新。我们要做的是在我们的抽象方法中增加两个额外的步骤。这两个步骤是远程目标评估和本地目标评估。在侵入性目标搜索之后,这些将被纳入我们的方法中。我们采用这两个附加步骤的方法示例如下: * 计划 * 非侵入式目标搜索 * 侵入式目标搜索 * 远程目标评估 * 局部目标评估 * 数据分析 * 报告 对于远程目标评估,这是从外部位置评估目标的过程。因此,下一步,本地目标评估,是指从本地机器内评估目标的过程。虽然这两个步骤作为单独的组件进行,但重要的是要认识到,一旦在机器上获得访问权限,就可以像测试仪位于机器上一样进行本地评估。 这就是我们将在本书中通篇提到的方法论。它是一种简单易用的格式,在执行测试时为我们提供了极大的灵活性。此外,它允许我们根据需要对其进行扩展。此外,这是一个经过验证的过程,满足了我们在构建实验室环境时的测试需求。 # 总结 在本章中,我们研究了许多不同的过程和方法参考,这些参考可供我们在实践专业安全测试时使用。 本章首先介绍了 OSSTMM 的综合国际参考资料。我们在进行无线评估的参考范围内查看了流程和步骤。 在 OSSTMM 之后,我们简要介绍了检查,这是在英国执行安全评估的一部分。我们还讨论了对包含标记数据的网络的评估。 我们审查的下一个参考是 NIST SP 800-115。我们调查了文件的格式,并讨论了参考文献中的一些章节。我们查看了评估和渗透测试所需技能的示例。其中一个常见的项目是 TCP/IP 知识。 我们查看了 CEH 课程材料中的示例流程图,并以一个定制示例结束本章,该示例使用了我们从[第 1 章](01.html "Chapter 1. Introducing Penetration Testing")、*引入渗透测试*的抽象方法,以及另外两个步骤。我们将在下一章建立一个外部测试架构。