渗透测试方法论(详解)

0x01 渗透测试的种类

黑盒测试

黑盒测试也称功能测试,它是通过测试来检验每个功能是否能正常使用。在进行黑盒测试验时,渗透测试工程师不清楚被测目标内部构造的情况下,从外部评估网络基础设施的安全性,在渗透测试的各个阶段,黑盒测试借助真实世界的黑客技术暴露出目标的安全问题,甚至可以揭露尚未被他人利用的安全弱点。渗透工程师应该了解这些安全弱点并将安全弱点进行分类,并按照风险等级(高、中、低)对其进行排序。风险等级取决于相关弱点可能形成危害的大小。当测试人员完成黑盒测试的所有工作之后,应当把与测试对象安全状况有关的必要信息进行整理,并使用业务语言描述这些被识别出来的风险,继而降之汇总为书面报告,黑河测试的市场报价通常会高于白盒测试。

  • 不清楚目标单位内部技术构造
  • 风险等级
  • 网站后台管理员密码

白盒测试

白盒测试时工程师可以获取白盒测试的审计员可以获取被测单位的各种内部资料甚至不公开资料,所以渗透测试人员的视野更为开阔。若以白盒测试的方法评估安全漏洞,测试人员可以以最小的工作量达到最高的评估精确度。白盒测试从被测系统环境自身出发,全面消除内部安全问题。从而增加了从单位外部渗透系统的难度。黑盒测试起不到这样的作用。白盒测试所需要的步骤数目与黑盒测试不相上下。另外,若能将白盒测试与常规的研发生命周期相结合,就可以在入侵者发现甚至利用安全弱点之前,尽可能最早地消除全部安全隐患。这使得白盒测试的时间、成本,以及发现、解决安全弱点的技术门槛都全面低于黑盒测试。

  • 获取被测目标的全部资料或者部分资料
  • 可以与应用的研发声名周期结合
  • 代码审计

脆弱性评估
脆弱性评估通过分析企业资产面临安全威胁的情况的程度,评估内部和外部的安全控制和安全性。这种技术上的信息系统评估,不仅揭露现有防范措施里存在的风险,而且要提出多重备选的补救策略,并且将这些策略进行比较。内部的脆弱性评估可保证内部系统的安全性,而外部的脆弱性评估则是验证边界反复胡德有效性。不同的脆弱性评估需要的测试流程、测试工具和自动化技术也不相同,这可以通过一体化的安全弱点管控平台来实现。现在的安全弱点管理平台带有自动更新的漏洞数据库,能够测试不同类型的网络设备,而且不会变更配置管理和变更管理的完整性。
脆弱性评估和渗透测试两者最的区别就在于:渗透测试不仅要识别目标的弱点,它还涉及在目标系统上进行漏洞利用、权限提升和访问维护,脆弱性评估虽然可以充分发现系统里的缺陷,但是不会考虑去衡量这些缺陷对系统造成的危害。另外,相比脆弱性评估,渗透测试环境更倾向于入侵,会刻意使用各种技术手段利用漏洞;所以渗透测试可能多生产环境带来实际的破坏性影响,而脆弱性评估以非入侵的方式,定性、定量的识别已知的安全弱点。

0x02 渗透测试流程

渗透测试相关阶段主要分为十个流程:

  1. 范围界定
  2. 信息收集
  3. 目标识别
  4. 服务枚举
  5. 漏洞映射
  6. 社会工程学
  7. 漏洞利用
  8. 权限提升
  9. 访问维护
  10. 文档报告
    下面将详细介绍每个流程的相关信息。

范围界定
在开始技术性安全评估之间,务必要观察、研究目标环境的被测范围。同时还要了解,这个范围牵扯多少个单位,是单个单位还是多个单位会参与到安全评估的工作中来,在范围界定阶段,需要考虑的典型因素如下。

  1. 取得授权。
  2. 测试对象是什么?
  3. 应当采取什么测试方法?
  4. 有哪些应当在测试过程中满足的条件?
  5. 哪些因素可能会限制测试执行的过程?
  6. 需要多久完成测试?
  7. 此次测试需要达成什么样的任务目标?

信息收集
在划定测试范围后就需要进入信息收集阶段。在这个阶段,渗透测试人员需要使用公开的资源尽可能地获取测试目标相关的信息。在这里推荐的渠道有:论坛、公告板、新闻组、媒体文章、博客、社交网络等其他公开的网络资源。此外也可以借助各种搜素引擎中获取相关数据,如谷歌、雅虎、MSN必应、百度等。收集的信息主要包括:**DNS服务器、路由关系、whois数据库、电子邮件地址、电话号码、个人信息、用户账户等。**收集的信息越多,渗透测试的成功概率越高。

目标识别
这个阶段主要是识别目标的网络架构、网络状态和操作系统。这个阶段的工作旨在完整的展现目标网络里的各种联网设备或技术的完整关系,帮助测试人员在接下来的工作里枚举目标网络的各种服务。哪些设备在线、如何去访问?

服务枚举
这一阶段根据前面各个阶段的成果,进一步找出目标系统中开放的所有的端口。
一旦找到了所开放的端口,就可以通过这些端口来列出目标系统上运行的服务,主机开放的端口都有那些开放的服务,对这些信息进行深度分析后,可进一步发觉目标网络基础设施中可能存在的漏洞。

  1. 开放了哪些端口?
  2. 端口上运行的服务以及详细版本
  3. 技术架构
  4. Web容器
  5. 开发语言以及框架
  6. 站库分离
  7. 前后端分离

漏洞映射
测试员可以根据已经发现的开放的端口和服务程序,查找分析目标系统中存在的漏洞,如果能够采用自动和手动这两种不同的方法结合起来,审计人员对目标系统的认知就会更加清晰、透彻,并能狗仔细的检查任何已知和位置的漏洞。

社会工程学
如果目标网络没有直接的入口,欺骗的艺术将起到抛砖引玉的重要作用。对目标组织中的人员进行定向攻击,很有可能帮助我们找到渗透目标系统的入口。例如,诱使用户运行安装后门门的恶意程序,就可能为审计人员的渗透工作形成突破。社会工程学渗透分为多种不同实现形式。在社会工程学中,达成同一既定目标的实现方式应有尽有。需要注意的是,透目标之前,多数情况下需要长时间研究目标人员的心理。另外,在开展这个阶段的工作之前,您需要研究国内的法律是否有关于社会工程学的相关条款。

  1. 伪装网络管理员,通过电话要求用户自己提供自己的账户信息;
  2. 发送钓鱼邮件来劫持用户的银行账户;

漏洞利用
在仔细检查和发现目标系统中的漏洞之后,就可以使用已有的漏洞利用程序对目标系统进行渗透。审计人员可以把客户端漏洞利用程序和社会工程学进行结合,进而控制目标系统。这个阶段的主要任务是控制目标系统。这个流程可以分为三步,涉及攻击前、攻击、攻击后的相关行动。

权限提升
**获取目标系统的控制权是渗透成功的表示。**工程师可以根据自己所拥有的访问权限在被测系统中自由发挥。审计人员也可以使用适用于目标系统的本地漏洞来提升自己的权限。工程师还可以以该主机为跳板,进一步攻击局域网。根据之前渗透范围的界定(授权),审计人员接下来的攻击可能是受限制的,也可能是不受限制的,然后通过多种多种方式获得更多与控制系统有关的信息。具体地说,他们可能是用嗅探手段截获网络的数据包,破解各种服务的密码,在局域网中使用网络欺骗手段,所以说提升权限的最终目的就是获取目标系统的最高访问权限。

访问维护
多数情况下,审计人员需要在一段时间内维护他们对目 标系统的访问权限。例如,在演示越权访问目标系统的时候,安装后门将节省重新渗透目标系统所耗费的大量时间。这种情况下,访问维护将节约获取目标系统访问权限所需要的时间、花费和资源。审计人员可以通过一些秘密的通信隧道,在既定时间内维持对目标的访问权限。这些隧道往往基于特定协议、代理或者点对点方法的后门程序。这种对系统的访问方法可以清楚地展示,入侵人员在目标系统实施攻击时隐藏行踪的具体方法。埋藏后门、隧道技术

文档报告
在渗透测试的最后一个环节里,审计人员要记录、报告并现场演示那些已经识别、验证和利用了的安全漏洞。在被测单位的管理和技术团队会检查渗透时使用的方法,并会根据这些文档修补所有存在的安全漏洞。所以从道德角度来看,文档报告的工作十分重要。为了帮助管理人员和技术人员共同理解、分析当前IT基础架构中的薄弱环节,可能需要给不同的部门]撰写不同措辞的书面报告。

以上就是渗透测试方法论的具体相关内容,它是非常全面的渗透测试框架,涵盖了渗透测试的技术方面和其他重要方面,内容浅显易懂,您可以根据测试工作的需要对相应测试步骤进行调整。

-_-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值