思维导图(总纲)
范围界定
在开始技术性安全评估之间,务必要观察、研究目标环境的被测范围。同时还要了解,这个范围牵扯多少个单位,是单个单位还是多个单位会参与到安全评估的工作中来,在范围界定阶段,需要考虑的典型因素如下:
确定目标;
取得授权;
应当采取何种测试方法?
有哪些在测试过程中需要满足的条件?
哪些因素可能会限制测试执行的过程?
需要多久才能完成测试?
此次测试应当达成什么样的任务目标?
是否是复测?
…
在开始渗透测试之前,需要先确定测试的目标、方法(黑盒或白盒)、是否复测等,方便限定测试的范围,提高测试的精度,这就是范围界定。
信息收集
外围信息收集,非接触式信息收集。
在划定了测试范围之后,就需要进入信息收集阶段。在这个阶段,渗透人员需要使用各种公开资源尽可能地获取测试目标的相关信息。他们搜集信息的互联网渠道主要有:
- 论坛
- 公告板
- 新闻组
- 媒体文章
- 博客
- 社交网络
- github
- 其他商业或非商业性的网站。
此外,他们也可以借助各种搜索引擎中获取相关数据,如谷歌、雅虎、MSN 必应、百度等。收集的信息主要包括- DNS 服务器
- 路由关系
- 电子邮件地址
- 电话号码
- 个人信息
- 用户账户
收集的信息越多,渗透测试成功的概率越高.
信息收集是渗透测试最重要的一部分。这个信息收集实际上指的是非接触式信息收集,也叫外围信息收集,
目标识别
这个阶段的主要任务是识别目标的网络状态、操作系统和网络架构。该阶段工作旨在完整地展现目标网络里各种联网设备或技术的完整关系,以帮助测试人员在接下来的工作里枚举目标网络的各种服务。
- 扫IP
- 哪些设备在线?
- 如何去访问?
目标识别的任务很简单,就是查找目标主机的IP、在线设备等。实际上也属于信息收集,但不同于外围信息收集,从它开始,是对目标主机的信息收集。
服务枚举
这一阶段会根据前面各个阶段的成果,进一步找出目标系统中所有开放的端口。一旦找到了所有开放的端口,就可以通过这些端口来列出目标系统上运行的服务。主机上开放的端口都有相应的服务程序,对这些信息进行深度分析之后,可进一步发掘目标网络基础设施中可能存在的漏洞。
- 扫端口;
- 开放的端口;
- 运行的服务。
服务枚举步骤是识别主机开放的端口和系统中运行的服务,对端口和服务进一步发掘后,尝试找出可能存在的漏洞。
漏洞扫描
可以根据已经发现的开放端口和服务程序,查找、分析目标系统中存在的漏洞。如果能够采用自动和手动这两种不同的测试方法结合起来,审计人员对目标系统的认知就会更为清晰、透彻,并能够仔细地检查任何已知和未知的漏洞。
- 扫漏洞;
- 漏洞挖掘:手工+ 工具;
- FUZZ 测试。
- 尝试确定漏洞发生的组件名称、版本以及漏洞类型
在漏洞扫描过程中,目的是为了发现可能存在的漏洞
社会工程学
如果目标网络没有直接的入口,欺骗的艺术将起到抛砖引玉的重要作用。对目标组织中的人员进行定向攻击,很有可能帮助我们找到渗透目标系统的入口。例如,诱使用户运行安装存在后门的恶意程序,就可能为审计人员的渗透工作形成突破。社会工程学渗透分为多种不同实现形式。
伪装成网络管理员,通过电话要求用户提供自己的账户信息;
发送钓鱼邮件来劫持用户的银行账户;
诱使某人出现在某个地点。
在社会工程学中,达成同一既定目标的实现方式应有尽有。需要注意的是,在对目标实施欺骗以达成渗透目标之前,多数情况下需要长时间研究目标人员的心理。另外,在开展这个阶段的工作之前,您需要研究国内的法律是否有关于社会工程学的相关条款。
漏洞利用
在仔细检查和发现目标系统中的漏洞之后,就可以使用已有的漏洞利用程序对目标系统进行渗透。审计人员可以把客户端漏洞利用程序和社会工程学进行结合,进而控制目标系统。这个阶段的主要任务是访问目标系统。这个流程可以分为三步,涉及攻击前、攻击、攻击后的相关行动。
权限提升
获取目标系统的控制权是渗透成功的标识。接下来,工程师就可以根据其所拥有的访问权限,在被测系统中自由发挥。审计人员也可以使用适用于目标系统的本地漏洞来提升自己的权限。只要他们能够在目标系统上运行提权漏洞利用程序,就可以获得主机的超级用户权限或者系统级权限。工程师还可以以该主机为跳板,进一步攻击局域网络。根据之前渗透范围的界定(授权),审计人员接下来会开展的攻击可能是受限制的,也可能是不受限制。然后,他们很有可能个以各种方式获得与控制系统有关的更多信息。具体的说,他们可能是用嗅探手段截获网络数据包,破解各种服务的密码,在局域网络中使用网络欺骗手段。所以说,提升权限的最终目的是获得目标系统的最高访问权限。
访问维护
- 埋藏后门;
- 隧道技术。
文档报告
在渗透测试的最后一个环节里,审计人员要记录、报告并现场演示那些已经识别、验证和利用了的安全漏洞。在被测单位的管理和技术团队会检查渗透时使用的方法,并会根据这些文档修补所有存在的安全漏洞。所以从道德角度来看,文档报告的工作十分重要。为了帮助管理人员和技术人员共同理解、分析当前IT 基础架构中的薄弱环节,可能需要给不同的部门撰写不同措辞的书面报告。