安全渗透测试笔记-----第 1 章 安全渗透简介(1)

第一部分 渗透测试基础

         该部分主要讲述:何为渗透测试?渗透测试的分类?渗透测试所涉及的方法?PTES标准?渗透测试涉及的工具?当下主流渗透测试系统Kali与backTrack简述?Kali_Linux与BackTrack系统安装?通过该部分,希望你能学习到如何进行渗透测试?以及渗透测试环境的搭建!

第 1 章安全渗透简介

         渗透测试是对用户信息安全措施积极评估的过程。通过系统化的操作和分析,积极发现系统和网络中存在的各种缺陷和弱点,如设计缺陷和技术缺陷。

1.1安全渗透测试简介

         渗透测试并没有一个标准的定义。主要的一些定义有以下几种:

         DF_0:国外一些安全组织达成共识的通用说法是:渗透测试就是一种通过模拟恶意攻击者的技术与方法,挫败目标系统安全控制措施,取得访问权,并发现具备业务影响后果安全隐患的一种安全测试与评估方式

         DF_1渗透测试是测试人员在具体和授权的指导原则下尝试规避信息系统的防护措施所使用的方法、过程和规程,包括突破系统集成的安全特性。

         渗透测试过程一般需要对目标系统进行主动探测分析,以发现潜在的系统漏洞,包括不恰当的系统配置,已知或未知的软硬件漏洞,以及在安全计划与响应过程中的操作性弱点等。渗透测试中发现的所有安全问题,它们所带来的业务影响后果评估,以及如何避免这些问题的技术解决方案,将在最终报告中呈现给目标系统的拥有者,帮助他们修补并提升系统的安全性。

         作为一种对抗性和定制要求都非常高的服务,渗透测试的完成质量依赖于实施人员即渗透测试者(Penetration Tester,Pentester)的技术能力、专业素养以及团队协作能力。渗透测试者一般称为渗透测试工程师。

1.2渗透测试分类

         渗透测试的两种基本类型包括:黑盒测试、白盒测试

         黑盒测试:设计为模拟一个对客户组织一无所知的攻击者所进行的渗透攻击。黑盒测试也称为外部测试。采用这种方式时,渗透测试团队将从一个远程网络位置来评估目标网络基础设施,并没有任何目标网络内部拓扑等相关信息,他们完全模拟真实网络环境的外部攻击者,采用流行的攻击技术与工具,有组织有步骤地对目标组织进行逐步的渗透与入侵,揭示目标网络中一些已知或未知的安全漏洞,并评估这些漏洞能否被利用获取控制权或造成业务资产的损失。

         黑盒测试比较费时费力,同时渗透测试者具备较高的技术能力。在安全业界的渗透测试者眼中,黑盒测试通常是更受推崇。

 

         白盒测试:渗透测试者在拥有客户组织所有知识的情况下所进行的渗透测试白盒测试也称为内部测试。进行白盒测试的团队可以了解到关于目标环境的所有内部与底层知识,因此这可以让渗透测试者以最小的代价发现和验证系统中最重要的安全漏洞。如果实施到位,白盒测试能够比白盒测试消除更多的目标基础设施环境中的安全漏洞与弱点,从而给组织带来更大的价值。

         白盒测试与黑盒测试实施流程不同之处在于,白盒测试无须进行目标定位与情报搜集;白盒测试能够更加方便地在一次常规的开发与部署计划周期中集成,在早期可以消除掉一些可能存在的安全问题。

         白盒测试最大问题在于无法有效地测试客户端组织的应急响应程序,也无法判断出他们的安全防护计划对待检测特定攻击的效率。如果时间有限或是特定的渗透测试环节(如情报搜集)并不在范围之内,那么白盒测试可能是最好的选择。

         灰盒测试:白盒测试与黑盒测试的组合可以提供对目标系统更加深入和全面的审查。灰盒测试的好处是能够同时发挥两种基本类型渗透测试测试的各自优势。灰盒测试需要渗透测试者能够根据对目标系统所掌握的有限知识与信息,来选择评估整体安全性的最佳途径。在采用灰盒测试方法的外部渗透场景中,渗透测试者也类似地需要从外部逐步渗透进入目标网络,但渗透测试者拥有目标网络底层拓扑与架构,这将有助于更好地决策攻击途径与方法。

 

1.3渗透测试方法体系

         目前,安全业界比较流行的开源渗透测试方法体系标准包括以下几个:

1.        安全测试方法学开源手册

         由ISECOM安全与公开方法研究所制定,安全测试方法学开源手册(OSSTMM)提供物理安全、人类心理学、数据网络、无线通信媒介和电讯通信这五类渠道非常细致的测试用例,同时给出评估安全测试结果的指标。    

         OSSTMM的特色在于非常注重技术的细节,使其成为一个具有很好可操作性的方法指南。

2.        NIST SP 800-42网络安全测试指南

         美国国家标准与技术研究院(NIST)在SP 800-42网络安全测试指南中讨论了渗透测试流程和方法。

3.        OWASP 是大Web应用安全威胁项目

         针对目前最普遍的Web应用层,为安全测试人员和开发者提供了如何识别与避免这些安全威胁的指南。OWASP十大Web应用安全威胁项目只关注具有最高风险的Web领域,不是一个普适性的渗透测试方法指南。

4.        Web安全威胁分类标准

         Web安全威胁分类标准全面地给出目前Web应用领域中的漏洞、攻击与防范措施视图。

5.        PTES渗透测试执行标准

         2010年最新发起的渗透测试过程规范标注项目,核心理念是通过建立起进行渗透测试所要求的基本测试准线,来定义一次真正的渗透测试过程,并得到安全业界的广泛认同。

 

1.4  PTES标准中的渗透测试阶段

         PTES标准中的渗透测试阶段是用来定义渗透测试过程,并确保客户组织能够以一种标准化的方式来扩展一次渗透测试,而无论是由谁来执行这种类型的评估。PTES标准将渗透测试过程分为七个阶段,并在每个阶段中定义不同的扩展级别,而选择哪种级别则由被攻击的客户组织决定。

1.4.1 PTES:前期交互阶段

         前期交互阶段通常是与客户组织进行讨论,来确定渗透测试的范围和目标。这个阶段最为关键的是需要让客户组织明确清晰地了解渗透测试将涉及哪些目标。选择更加现实可行的渗透测试目标进行实际实施。

1.4.2 PTES:情报搜集阶段

         在情报搜集阶段,需要使用各种可能的方法来收集将要攻击的客户组织的所有信息,包括使用社交媒体网络、Google Hacking技术、目标系统踩点等等。作为渗透测试人员,最重要的一项技术就是对目标系统的探查能力,包括获知它的行为模式、运行机理,以及最终可以如何被攻击。

         在情报搜集阶段中,通过逐步深入的探测,来确定在目标系统中实施了哪些安全防御措施。例如,一个组织在对外开放的网络设备上经常设置端口过滤,只允许接收发往特定端口的网络流量,而一旦在白名单之外的端口访问这些设备时,那么就会被加入黑名单进行阻断。通过这种阻断行为的一个好方法是先从所控制的其他IP地址来进行初始探测,而这个IP地址是预期就会被阻断或者检测到的。当在探测web应用程序时,这个方法非常适用,因为一些保护web应用程序的web应用防火墙通常也会在探测请求数量超过一定阈值后对IP进行阻断,使得无法再使用这个IP发起任何请求。

         PS可以使用一个与你要发起主要攻击行为处于完全不同范围的IP地址,来进行非常“喧闹”的扫描,这样可以帮助确定客户组织是否能够很好地检测和响应所使用的攻击工具和技术

1.4.3 PTES:威胁建模阶段

         威胁建模主要使用在情报搜集阶段所获取到的信息,来标识出目标系统上可能存在的安全漏洞与弱点。在进行威胁建模时,确定最为高效的攻击方法、所需要进一步获取到的信息,以及从哪里攻破目标系统。

1.4.4 PTES:漏洞分析阶段

         在漏洞分析阶段,综合从前面的几个环节中获取到信息,并从中分析和理解哪些攻击途径回事可行的。特别是需要重点分析端口和漏洞扫描结果,获取到的服务“旗帜”信息,以及在情报搜集环节中得到的其他关键信息。

1.4.5 PTES:渗透攻击阶段

         渗透攻击在实际情况下往往没有所预想的那么“一帆风顺”,而往往是“曲径通幽”。最好是在基本能够确信特定渗透攻击会成功的时候,才真正对目标系统实施这次渗透攻击,当然在目标系统中很可能存在着一些没有预期到的安全防护措施,是的这次渗透攻击无法成功。在尝试要触发一个漏洞时,应该清晰地了解在目标系统上存在这个漏洞。

1.4.6 PTES:后渗透攻击阶段

         后渗透攻击阶段从已经攻陷了客户组织的一些系统或取得域管理权限之后开始。后渗透攻击阶段将以特定的业务系统作为目标,识别出关键的基础设施,并寻找客户组织最具价值和尝试进行安全保护的信息和资产,当从一个系统攻入另一个系统时,需要演示出能够对客户组织造成最重要业务影响的攻击途径

         在后渗透攻击阶段进行系统攻击,需要投入更多的时间来确定各种不同系统的用途,以及它们中不同的用户角色。

1.4.7 PTES:报告阶段

         报告是渗透测试过程中最为重要的因素,使用报告文档来交流在渗透测试过程中做了哪些,如何做的,以及最为重要的----客户组织如何修复所发现的安全漏洞和弱点。

         当在编写和报告发现时,需要站在客户组织的角度上,来分析如何利用发现来提升安全意识,修补发现的问题,以及提升整体的安全水平,而并不仅仅是对发现的安全漏洞打上补丁。

         所撰写的报告至少分为摘要、过程展示和技术发现这几个部分,技术发现部分将会被客户组织用来修补安全漏洞,但这也是渗透测试过程真正价值的体现。例如,在客户组织的web应用程序中找出了一个SQL注入漏洞,渗透测试者会在报告的技术发现部分来建议客户对所有的用户输入进行检查过滤,使用参数化的SQL查询语句,在一个受限的用户账户上运行SQL语句,以及使用定制的出错消息最可能导致SQL注入漏洞的根本原因是使用了未能确保安全性的第三方应用,在报告中也要充分考虑这些因素,并建议客户组织进行细致检查并消除这些漏洞。

1.5 渗透测试生命周期

         目前为止,最受认可的是EC-CouncilCertified Ethical Hacker(EC C|EH,伦理黑客认证)定义和使用的方法和生命周期。整个过程包含五个阶段:侦查、扫描、获取访问、维持访问、清除痕迹


你可能感兴趣的:(安全渗透测试学习笔记)