1、前期交互阶段(Pre-Engagement Interaction):
入场测试之前,渗透测试团队需与客户方进行交互讨论,明确测试范围、目标、限制条件以及服务合同细节,签订服务合同,并由客户方给出书面的授权文件,双方各执一份。
2、情报收集阶段(Information Gathering)
获得正式授权、且目标明确后,渗透测试团队可以利用各种信息来源、搜集技术方法,搜集攻击目标的组织网络拓扑、系统配置与安全防御措施等相关信息。
搜集信息的方法主要分为外围收集和试探收集。外围信息收集方式包括公开来源信息搜集、搜索引擎技术、社会工程学等;试探性收集包括Hacking、端口扫描、漏洞扫描、被动监听、服务查点学、网络踩点等。
3、威胁建模阶段(Threat Modeling)
收集充分的情报之后,渗透团队聚到一起,采用头脑风暴方式,针对获取的信息进行威胁建模和攻击规划,从大量的信息情报中理清头绪,确定出最可行的攻击通道。
4、漏洞分析阶段(Vulnerability Analysis)
确定出最可行攻击通道后,接下来需要从战术面考虑如何取得目标系统的访问控制权。对前几个阶段搜集到的信息进行分析,找出具体可利用的漏洞,搜索获取或自行编写渗透代码,找出可以实施的渗透攻击点,搭建模拟环境进行验证。
在该阶段,高水平的渗透测试团队还会对攻击通道中的一些关键系统与服务进行漏洞探测与挖掘,期望找出可被利用的未知安全漏洞,并开发出渗透代码,从而打开攻击通道上的关键路径。
5、渗透攻击阶段(Exploitation)
利用找出的目标系统漏洞,入侵目标系统,获取控制权限。在黑盒测试中,渗透测试者还需要考虑对目标系统检测机制的逃逸,从而避免造成目标组织安全响应团队的警觉和发现。
助理解:小偷破门而入。
6、后渗透攻击阶段(Post Exploitation)
是整个渗透测试过程中最能够体现渗透测试团队创造力与技术能力的环节。
拿到客户一些系统的管理权限后,由此为“跳板”,实现内网“漫游”。在这个过程中,有经验的大牛,能在信息有限的情况下,识别出关键信息基础设施,找到客户组织最有价值的信息和资产,并展示出对重要业务影响的攻击路径。
助理解:小偷在房间里面寻找有价值的宝物。
7、报告阶段(Reporting)
主要包括关键情报信息、漏洞、攻击过程,以及造成业务影响后果的攻击途径,并梳理出防御体系中薄弱环节、存在问题,给出整改建议。