1.5.4 PTES
该标准是使用最广泛的标准,几乎涵盖了所有与渗透测试相关的内容。
PTES分为七个阶段:
·测试前交互。
·情报收集。
·威胁建模。
·漏洞分析。
·漏洞利用。
·后渗透利用。
·报告。
下面简要看一下每个阶段都包含哪些内容。
1.5.4.1 测试前交互
测试前交互是在项目开始之前进行的交流,例如定义测试范围,通常涉及确定目标IP、Web应用程序、无线网络等。
确定测试范围之后,将在测试双方之间建立沟通渠道,并确定事件报告流程。这些交互还包括状态更新、电话通话、法律程序以及项目的开始和结束时间。
1.5.4.2 情报收集
情报收集过程用于收集有关目标的尽可能多的信息。这是渗透测试中最关键的环节,因为我们拥有的信息越多,可用于执行的攻击媒介就越多。如果是白盒测试,客户会提供所有这些信息给测试团队。
1.5.4.3 威胁建模
威胁建模是一个过程,通过该过程可以识别和枚举潜在威胁,并可以确定缓解的优先级。威胁建模取决于所收集信息的数量和质量;利用这些信息,可以将过程分为多个阶段,然后使用自动化工具和逻辑攻击来执行这些阶段。
图1-3所示是威胁模型的思维导图。
图 1-3
资料来源:http://www.pentest-standard.org/index.php/Threat_Modelling。
授权许可:GNU自由文档许可证1.2。
下面来看漏洞分析。
1.5.4.4 漏洞分析
漏洞分析是发现攻击者可以利用的缺陷的过程。这些缺陷可能涉及从开放端口和服务错误配置到SQL注入的任何问题。有许多工具有助于执行漏洞分析,例如Nmap、Acunetix和Burp Suite。基本上每隔几周都会有新工具发布。
1.5.4.5 漏洞利用
漏洞利用是指通过规避基于脆弱性评估的保护机制来获得对系统进行访问的过程。漏洞利用可以是公开的,也可以是0-Day(未公开的)。
1.5.4.6 后渗透利用
后渗透利用的目标是确定危害的严重性,然后保持访问权限以备将来使用。这个阶段必须始终遵循保护客户和保护自己的原则(根据活动需要来掩盖痕迹)。
1.5.4.7 报告
报告是最重要的阶段之一,因为修复所有问题完全取决于报告中提供的详细信息。报告必须包含三个关键要素:
·漏洞的严重性。
·复现该漏洞所需的步骤。
·补丁建议。
总而言之,渗透测试生命周期的阶段可以通过图1-4所示的方式呈现。
图 1-4
在下一节中,我们将讨论通用缺陷列表(Common Weakness Enumeration,CWE)和两个顶级CWE。