渗透测试流程

谁都会走 提交于 2020-03-03 06:02:53

1、 前期交互阶段

在前期交互阶段,渗透测试工程师要确定渗透测试预期达到的目标,并确定测试的范围。渗透测试工程师将在这个阶段与客户展开讨论,确定本次渗透测试的所有业务与细节。

作为渗透测试的第一个步骤,前期交互阶段将确定客户的渗透测试的关键细节。在这个阶段,渗透测试工程师要与客户进行充分的交流,以便客户对即将开展的渗透测试会对他的网络或者服务器产生的影响有足够的了解。这一阶段还将确定渗透测试的范围、目标以及代表客户进行测试时的特殊需求,例如特殊的权限、关键系统的访问许可等。商讨的范围还将包 括渗透测试预期对测试目标所产生的积极效果。在本阶段,需要商讨的关键点如下所示。

  • 渗透测试的范围:
    这一部分需要确定渗透测试的范围并预估整个项目的工作量。同时要确定哪些目标在渗透测试范围内,哪些是不允许进行渗透测试的。测试者要确认渗透区域内涉及的IP地址范围和域名范围,以及采用的测试类型(黑盒测试或白盒测试)。

  • 渗透测试的目标:
    这一部分要商定本次渗透测试预期达到的主要和次要效果。有关渗透 目标的常见问题列举如下。
    1、这次渗透测试的商业需求是什么?
    出于审计和标准化的目的 、积极主动的内部决策以确定所有弱点
    2、目标是什么
    列出目标的各种漏洞 、 证明各种漏洞的存在 、 测试各种事件响应 、 对网络、系统或者应用程序漏洞的渗透模块开发 、 以上全部

  • 渗透测试用到的术语和定义:
    这一部分要向客户介绍整个测试过程中出现的专业术语和 定义,以便客户能够更好地理解整个渗透测试工作。

  • 渗透测试的规定:
    这一部分要商定完成渗透测试的工期,具体工作展开的进度表,渗透 攻击的授权许可,以及定期召开会议以跟进渗透测试进程中出现的各种情况。有关约定 规则的常见问题列举如下。
    1、希望在什么时候执行这些测试?
    在工作时间 、下班之后、在周末、在系统维护期间
    2、这个测试是在生产环境下进行的吗?
    3、如果生产环境不能受到影响,是否存在类似的环境(开发或者测试系统)可以用来进 行渗透测试?
    4、谁是技术要点的联系人?

2、信息收集阶段

在信息收集阶段,渗透测试工程师在确定了目标和范围以后,就要采用主动和被动两种方法收集目标信息。其中被动信息收集可以在完全不接触目标的情况下进行。

信息收集是整个渗透测试过程中为重要的阶段之一。与尝试所有可行的渗透测试方法相 比,对目标有适当的了解可以让测试者选择合适和准确的渗透测试攻击方式。这样做将会大大缩 短整个渗透测试耗费的时间。通常这个阶段会占到整个渗透测试所需时间的40%~60%。终能否成功渗透进入目标网络很大程度上取决于测试者在这个阶段的工作成果。 这一阶段涉及的步骤如下。

  1. 目标选择:选择攻击的目标,确定攻击达到的效果以及整个攻击过程花费的时间。
  2. 隐私收集:包括现场信息采集,检查使用的设备信息,甚至从丢弃的废品中收集信息。此外,它还包含了目标单位外部的信息收集,例如识别目标单位所使用的数据仓库。通常这个阶段在白盒测试时进行。
  3. 踩点工作:包含针对目标的主动和被动扫描技术,例如网络端口扫描、banner获取等。
  4. 验证目标的安全机制:包含防火墙、网络流量过滤系统、网络和主机的保护措施的确认 工作等。

3、 威胁建模阶段

在威胁建模阶段,渗透测试工程师要根据之前获得的信息,找出对目标系统威胁大的弱点, 从而确定为高效的渗透攻击方式。

为了保证我们的渗透测试能够正确进行,必须进行威胁建模。在这个阶段,主要的工作是模拟出对目标准确的威胁以及这些威胁的作用,并根据这些威胁可能对目标产生的影响对其进行分类。 根据之前在信息收集阶段作出的分析,在这个阶段我们可以确定最佳的攻击方式。威胁建模方法适 用于商业资产分析、过程分析、威胁分析以及威胁能力分析。这一阶段将解决以下问题。
1、如何攻击指定的网络?
2、需要获得的重要信息是什么?
3、在攻击时采取什么方法为合适?
4、对目标来说大的安全威胁是什么?
威胁建模将有助于渗透测试工程师完成以下一系列工作。
1、收集有关高等级威胁的相关文档。
2、根据基本的分类方法对组织的资源进行标识。
3、对威胁进行识别和分类。
4、将组织的资源映射成模型。
威胁建模将有助于明确哪些资源容易受到威胁,以及这些威胁各自是什么。

4、漏洞分析阶段

在漏洞分析阶段,渗透测试工程师要找到并确认目标系统上存在的已知的和未知的漏洞,然后在实验环境中进行验证。

漏洞分析是在一个系统或者一个应用程序中发现漏洞的过程。这些漏洞多种多样,涵盖了很 多方面,从服务器的配置到Web程序服务,从应用程序到数据库服务,从一个基于VOIP的服务器 到基于SCADA的服务都可能存在漏洞。在这个阶段包含了三个不同的机制,那就是测试、验证 和研究。测试包括主动测试和被动测试。验证包括去除误报和通过手动验证确认漏洞的存在。研 究指的是发现并触发漏洞以确认它的存在。

5、渗透攻击阶段

在渗透攻击阶段,渗透测试工程师要利用之前得到的成果入侵目标系统的漏洞。这意味着在这个阶段,渗透测试工程师会尝试去获得目标系统的控制权。

渗透攻击阶段可以利用之前漏洞分析阶段的成果。这个阶段一般被认为是真正的攻击阶段。 在这个阶段,渗透测试者可以针对目标系统的漏洞使用对应的入侵模块获得控制权限。本书主要 介绍的就是这个阶段。

6、 后渗透攻击阶段

在后渗透攻击阶段,渗透测试工程师要开展一些实际的入侵行为。例如,盗取目标计算机的某个机密文件,直接关闭目标系统,或者在目标系统上创建一个新的远程管理账户,等等。一般来说,渗透测试工程师应该在这个阶段完成渗透攻击后的所有工作。

后渗透阶段发生在渗透阶段之后,这个阶段包含了当成功渗透攻击到对方计算机以后的很多 任务,比如提升权限、上传和下载文件、跳板攻击,等等。

7、报告阶段

在报告阶段,渗透测试工程师需要将所有渗透测试过程中的工作进行汇总,并以书面报告的形式提交给客户。报告中还应该包括漏洞修补和安全升级的解决方案。

在进行渗透测试时,创建整个渗透测试的正式报告是在后一个阶段进行的。渗透测试报告 的重要组成部分包括:确定目标为重要的威胁,将渗透得到的数据生成表格和图表,对目标系 统的改进建议,以及这些问题的修复方案。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!