评估方法
近年来,政府和私人组织都将网络安全作为战略重点。网络犯罪分子经常通过使用不同的攻击媒介将政府和私人组织作为他们的软目标。不幸的是,由于缺乏有效的政策、标准和信息系统的复杂性,网络犯罪分子拥有大量目标,并且他们在利用系统和窃取信息方面也取得了成功。
渗透测试是一种可用于减轻网络攻击风险的策略。渗透测试的成功取决于高效且一致的评估方法。
我们有多种与渗透测试相关的评估方法。使用方法的好处是它允许评估者一致地评估环境。以下是一些重要的方法 -
开源安全测试方法手册 (OSSTMM)
开放 Web 应用程序安全项目 (OWASP)
美国国家标准与技术研究院 (NIST)
渗透测试执行标准 (PTES)
什么是 PTES?
PTES,渗透测试执行标准,顾名思义是渗透测试的评估方法论。它涵盖了与渗透测试相关的所有内容。我们在 PTES 内有许多与评估员可能遇到的不同环境相关的技术指南。这是新评估人员使用 PTES 的最大优势,因为技术指南提供了在行业标准工具内解决和评估环境的建议。
在下一节中,我们将了解 PTES 的不同阶段。
PTES 的七个阶段
渗透测试执行标准(PTES)由七个阶段组成。这些阶段涵盖了与渗透测试相关的所有内容 - 从渗透测试背后的初始沟通和推理,到测试人员在幕后工作的情报收集和威胁建模阶段。通过漏洞研究、利用和后利用,可以更好地了解受测试的组织。在这里,测试人员的技术安全专业知识与对参与的业务理解进行了严格的结合,最后形成报告,以对客户有意义并为其提供最大价值的方式捕获整个过程。
我们将在后续章节中了解 PTES 的七个阶段 -
参与前互动阶段
这是 PTES 的第一个也是非常重要的阶段。此阶段的主要目的是解释可用的工具和技术,这有助于成功完成渗透测试的预参与步骤。实施此阶段时的任何错误都可能对评估的其余部分产生重大影响。此阶段包括以下内容 -
请求评估
此阶段开始的第一部分是创建组织评估请求。向评估人员提供一份征求建议书 (RFP)文件,其中包含有关环境、所需评估类型和组织期望的详细信息。
投标
现在,根据RFP文件,多家评估公司或个人有限责任公司(LLC)将投标,投标与要求的工作、价格和其他一些具体参数相匹配的一方将获胜。
签署聘书 (EL)
现在,该组织与中标方将签署一份Engagement Letter(EL)合同。该信函将包含工作说明书 (SOW)和最终产品。
范围界定会议
一旦签署 EL,就可以开始对范围进行微调。这样的会议有助于组织和政党调整特定范围。范围界定会议的主要目标是讨论要测试的内容。
处理范围蔓延
范围蔓延是指客户可能会尝试增加或扩展承诺的工作水平,以获得比承诺支付的更多的成果。这就是为什么由于时间和资源的原因,应仔细考虑对原始范围的修改。它还必须以某种文件形式填写,例如电子邮件、签名文件或授权信等。
问卷调查
在与客户的初步沟通过程中,客户必须回答几个问题,才能正确估计参与范围。这些问题旨在帮助客户更好地了解客户希望从渗透测试中获得什么;为什么客户希望对其环境进行渗透测试;以及他们是否希望在渗透测试期间执行某些类型的测试。
进行测试的方式
预参与阶段的最后一部分是决定进行测试的程序。有多种测试策略可供选择,例如白盒测试、黑盒测试、灰盒测试、双盲测试。
以下是可能要求的评估的一些示例 -
- 网络渗透测试
- Web应用渗透测试
- 无线网络渗透测试
- 物理渗透测试
- 社会工程学
- 网络钓鱼
- 互联网语音协议 (VOIP)
- 内部网络
- 外部网络
情报收集阶段
情报收集是PTES的第二阶段,是我们对目标进行初步调查,收集尽可能多的信息,以便在漏洞评估和利用阶段渗透目标时使用。它帮助组织通过评估团队确定外部暴露。我们可以将信息收集分为以下三个层次 -
1 级信息收集
自动化工具几乎可以完全获得这种级别的信息。1 级信息收集工作应适当以满足合规性要求。
2 级信息收集
此级别的信息可以通过使用级别 1 的自动化工具以及一些手动分析来获得。该级别需要对业务有很好的了解,包括物理位置、业务关系、组织结构图等信息。2 级信息收集工作应适当满足合规性要求以及其他需求,例如长期安全策略、收购较小的制造商等
3 级信息收集
这种级别的信息收集用于最先进的渗透测试。第 3 级信息收集需要来自第 1 级和第 2 级的所有信息以及大量手动分析。
威胁建模阶段
这是 PTES 的第三阶段。正确执行渗透测试需要威胁建模方法。威胁建模可以用作渗透测试的一部分,或者它可能会面临基于许多因素的威胁。如果我们使用威胁建模作为渗透测试的一部分,那么在第二阶段收集的信息将回滚到第一阶段。
以下步骤构成威胁建模阶段 -
收集必要的相关信息。
需要对主要和次要资产进行识别和分类。
需要识别威胁和威胁社区并对其进行分类。
需要针对主要和次要资产绘制威胁社区图。
威胁社区和代理
下表列出了相关威胁社区和代理及其在组织中的位置 -
地点 | 内部的 | 外部的 |
---|---|---|
威胁代理/社区 | 雇员 | 商业合作伙伴 |
管理人员 | 承包商 | |
管理员(网络、系统) | 竞争对手 | |
工程师 | 供应商 | |
技术人员 | 民族国家 | |
普通用户社区 | 黑客 |
在进行威胁建模评估时,我们需要记住威胁的位置可以是内部的。只需一封网络钓鱼电子邮件或一名恼怒的员工就可以通过广播凭据来危及组织的安全。
漏洞分析阶段
这是 PTES 的第四阶段,评估人员将确定进一步测试的可行目标。在PTES的前三个阶段中,仅提取了有关组织的详细信息,评估者没有触及任何测试资源。这是 PTES 最耗时的阶段。
以下阶段构成漏洞分析 -
漏洞测试
它可以被定义为发现主机和服务的系统和应用程序中的错误配置和不安全的应用程序设计等缺陷的过程。在进行漏洞分析之前,测试人员必须正确确定测试范围和期望的结果。漏洞测试可以有以下类型 -
- 主动测试
- 被动测试
我们将在后续部分详细讨论这两种类型。
主动测试
它涉及与正在测试安全漏洞的组件的直接交互。这些组件可以处于低级别(例如网络设备上的 TCP 堆栈),也可以处于高级别(例如基于 Web 的界面)。主动测试可以通过以下两种方式完成 -
自动化主动测试
它利用该软件与目标进行交互,检查响应并根据这些响应确定组件中是否存在漏洞。与手动主动测试相比,自动化主动测试的重要性可以从以下事实看出:如果系统上有数千个 TCP 端口,而我们需要手动连接所有端口进行测试,则将花费相当多的时间。然而,使用自动化工具可以减少大量的时间和劳动力需求。网络漏洞扫描、端口扫描、横幅抓取、Web应用程序扫描可以借助自动化主动测试工具来完成。
手动主动测试
与自动主动测试相比,手动有效测试更有效。自动化流程或技术始终存在误差幅度。这就是为什么始终建议对目标系统上可用的每个协议或服务执行手动直接连接,以验证自动化测试的结果。
被动测试
被动测试不涉及与组件的直接交互。它可以借助以下两种技术来实现 -
元数据分析
该技术涉及查看描述文件的数据而不是文件本身的数据。例如,MS Word 文件具有作者姓名、公司名称、文档上次修改和保存的日期和时间等元数据。如果攻击者可以被动访问元数据,就会出现安全问题。
流量监控
它可以被定义为连接到内部网络并捕获数据以进行离线分析的技术。它主要用于捕获交换网络上的“数据泄漏” 。
验证
漏洞测试后,对结果进行验证是非常必要的。可以借助以下技术来完成 -
工具之间的相关性
如果评估人员使用多个自动化工具进行漏洞测试,那么为了验证结果,非常有必要在这些工具之间建立关联。如果工具之间不存在这种相关性,那么研究结果可能会变得复杂。它可以分为项目的特定相关性和项目的类别相关性。
协议特定验证
验证也可以借助协议来完成。VPN、Citrix、DNS、Web、邮件服务器可用于验证结果。
研究
在发现并验证系统中的漏洞后,必须确定问题识别的准确性并研究渗透测试范围内漏洞的潜在可利用性。研究可以公开或私下进行。在进行公共研究时,可以使用漏洞数据库和供应商公告来验证所报告问题的准确性。另一方面,在进行私人研究时,可以设置副本环境,并应用模糊测试或测试配置等技术来验证所报告问题的准确性。
开发阶段
这是 PTES 的第五阶段。此阶段的重点是通过绕过安全限制来获取对系统或资源的访问权限。在此阶段,前面阶段完成的所有工作都会导致获得系统的访问权限。以下是一些用于访问系统的常用术语 -
- 爆开
- 带壳
- 破裂
- 被剥削
在利用阶段,登录系统可以借助代码、远程利用、创建利用、绕过防病毒软件来完成,也可以像通过弱凭据登录一样简单。获得准入后,即确定了主要切入点后,评估人员必须重点关注识别高价值的目标资产。如果漏洞分析阶段正确完成,那么应该已经编制了高价值目标列表。最终,攻击向量应考虑成功概率和对组织的最大影响。
开发后阶段
这是 PTES 的第六阶段。评估员在此阶段进行以下活动 -
基础设施分析
渗透测试期间使用的整个基础设施的分析都是在此阶段完成的。例如,可以借助接口、路由、DNS 服务器、缓存 DNS 条目、代理服务器等来完成网络或网络配置的分析。
掠夺
它可以被定义为从目标主机获取信息。该信息与预评估阶段定义的目标相关。该信息可以从系统上安装的程序、特定服务器(例如数据库服务器、打印机等)获取。
数据泄露
在此活动中,评估人员需要对所有可能的渗透路径进行映射和测试,以便可以进行控制强度测量,即检测和阻止来自组织的敏感信息。
创造持久力
此活动包括安装需要身份验证的后门、在需要时重新启动后门以及创建具有复杂密码的备用帐户。
清理
顾名思义,此过程涵盖了渗透测试完成后清理系统的要求。此活动包括恢复系统设置、应用程序配置参数的原始值,以及删除所有安装的后门和创建的任何用户帐户。
报告
这是 PTES 的最后也是最重要的阶段。在这里,客户根据渗透测试完成后的最终报告付款。该报告基本上反映了评估员对该系统的调查结果。以下是一份好的报告的基本部分 -
执行摘要
这是一份向读者传达渗透测试的具体目标和测试练习的高水平结果的报告。目标受众可以是首席顾问委员会的成员。
故事Plotly
该报告必须包含一个故事Plotly,其中将解释在参与过程中所做的事情、实际的安全发现或弱点以及组织已建立的积极控制措施。
概念证明/技术报告
概念证明或技术报告必须包含测试的技术细节以及预参与练习中商定为关键成功指标的所有方面/组件。技术报告部分将详细描述测试的范围、信息、攻击路径、影响和修复建议。