渗透测试的各个阶段

阅读: 评论:0

甲烷制氢渗透测试的各个阶段
渗透测试的第⼀个阶段是明确需求(pre-engagement)阶段。在这个阶段,测试⼈员通过商谈明确客户的测试⽬的、测试的深⼊程度和既定条件(即项⽬范围)等信息。待与客户确定了项⽬范围、书⾯⽂档的格式等必要信息之后,测试⼈员即可进⼊渗透测试的实质阶段。
下⾯⼀个阶段是信息收集(information-gathering)阶段。这个阶段的任务是搜索客户的公开信息,甄别⽬标系统的连⼊⼿段。在后⾯的威胁建模(threat-modeling)阶段,测试专家要综合信息收集阶段的⼯作成果,权衡各项威胁(可被攻击⼈员⽤于突破防线的安全问题)的价值和影响。威胁建模阶段的评估⼯作,旨在拟定渗透测试的测试⽅案和测试⽅法。
在测试⼈员正式攻击系统之前,还要完成漏洞分析(vulnerability analysis)⼯作。测试⼈员此时应当尽⼒挖掘⽬标系统中的安全漏洞,以便在漏洞验证(exploitation)阶段到可被利⽤的安全问题。每验证出⼀个可被利⽤的安全漏洞都可能带领渗透测试进⼊深度攻击(post-exploitation)阶段。简单来说,深度攻击阶段的任务就是利⽤漏洞验证阶段发现的exploit进⾏攻击,以获得更多的内部信息、敏感数据、访问其他系统的权限。
渗透测试的最后⼀个阶段是书⾯汇报(reporting)阶段。测试⼈员将在这⼀阶段以不同的视⾓对所有安全问题进⾏分析和总结,分别交付给客户的⾼层管理⼈员和技术执⾏⼈员。
1. 明确需求阶段
1.1 项⽬范围
沟通问题
什么因素促使客户寻外部测试⼈员?
客户最为关注的是什么问题?
测试过程中是否会涉及到需要特别⼩⼼的易碎易损设备?
明确范围
1、哪些IP地址、主机在测试范围之内,哪些不在范围之内?
2、客户允许测试⼈员进⾏何种类型的测试⾏为?
3、测试⼈员是否可以使⽤可能导致服务瘫痪的漏洞利⽤代码(即exploit),是否应当将评估局限于漏洞检测?
宽带数字电视机顶盒
4、客户是否明⽩端⼝扫描也可能导致服务器或路由宕机?防盗螺母
5、测试⼈员是否可以进⾏社会⼯程学攻击?
1.2 测试窗⼝
客户有权指定测试⼈员在限定⼯作⽇、限定时间之内进⾏测试。
1.3 联系信息
发现严重问题时,测试⼈员应当联系哪些⼈?客户是否指定了24⼩时都可以联系的负责⼈?他们是否希望测试⼈员⽤加密邮件联系他们?1.4 免罪⾦牌
务必确保测试⼈员有权对测试⽬标进⾏渗透测试。如果测试⽬标不归客户所有(第三⽅托管的情况),那么务必要验证第三⽅是否正式允许客户进⾏渗透测试。总⽽⾔之,⼀定要在合同中落实免责声明,确保在意外情况下限定⼄⽅的法律责任,⽽且要获得渗透测试的书⾯授权。
1.5 ⽀付条款
落实付款的⽅式、时间和费⽤⾦额。
智能药盒最后要在合同上写⼊保密条款。书⾯承诺对渗透测试的内容及测试中发现的问题进⾏保密,可获得客户的赞许。
2. 信息收集阶段
在此阶段,测试⼈员要分析各种公开信息。公开信息收集过程有称作开源情报分析(Open Source Inteligence,OSINT)。测试⼈员还要使⽤端⼝扫描⼯具之类的各种⼯具,初步了解内外或外⽹运⾏的是什么系统、这些系统上安装了什么软件。5
3. 威胁建模阶段
在这个阶段,测试⼈员要利⽤信息收集阶段获取的信息进⾏威胁建模。此时,渗透⼈员要以攻击⼈员的⾓度出发,根据所获信息拟定各种破坏⽅案。举例来讲,如果客户的主营业务是软件开发,那么攻击⼈员会渗透到内⽹的开发系统,获取客户开发并测试过的软件源代码,向其竞争对⼿贩卖公司业务机密,达到⽡解客户的⽬的。因此,测试⼈员要根据前⼀阶段的⼯作成果,拟定客户系统的渗透策略。
4. 漏洞分析阶段
接下来,测试⼈员开始探测客户系统上的漏洞,以确定渗透测试策略的有效性。不够精妙的exploit可能导致服务崩溃,引发⼊侵检测系统的警报,甚⾄让利⽤漏洞的机会⽩⽩溜⾛。测试⼈员会在这个阶段使⽤漏洞扫描程序,借助程序的漏洞数据库和主动检测技术,推测⽬标上存在哪些漏洞。然⽽,⽆
论漏洞扫描程序的功能有多么强⼤,它永远不能完全替代⼈类的独⽴思考。因此测试⼈员还要进⾏⼈⼯分析,亲⾃确认扫描程序到的全部漏洞。6
5. 漏洞验证阶段
漏洞验证是⼀个乐趣横⽣的阶段。测试⼈员往往会使⽤Metasploit⼀类的安全⼯具,利⽤(exploit)他们发现的安全漏洞,⼒图获取客户系统的访问权限。正如后⽂介绍的那样,容易得⼿的安全漏洞(例如出⼚密码)⽐⽐皆是。8
6. 深度攻击阶段
阀门保温不少⼈认为,只有进⼊了漏洞验证阶段之后的深度攻击阶段,渗透测试才算真正意义上的开始。虽然测试⼈员已经在这个阶段攻破了安全防线,但是对于客户来说,防线失守⼜代表什么问题呢?如果测试⼈员通过某个漏洞攻陷了⼀台没有加⼊企业域(domain)且安全补丁并不完整的早起系统,或者渗透了某台与⾼价值⽬标⽆关的主机或⽹络,获取不到与⽬标有关的任何信息,那么这种安全漏洞所对应的安全风险,远⽐域控制器或者开发系统的漏洞风险要低。
在深度攻击阶段,测试⼈员会以突破的系统为着⼿点收集各种信息,搜索有价值的⽂件,甚⾄在必要的时候提升⾃⼰的登录权限。⽐如,测试⼈员可能会转储密码的哈希值,继⽽破解原始密码,或者尝
试⽤这些哈希值访问其他系统。另外,测试⼈员还可能以这些突破点为跳板,转⽽攻击哪些在突破防线之前⽆法访问的各类系统。13
7. 书⾯汇报阶段
渗透测试最终阶段的⼯作室书⾯汇报阶段。在这个阶段,测试⼈员要把他们发现的各种问题整理为易于客户理解的书⾯⽂档。这种⽂档应当明确客户的哪些安全措施切实有效,指出客户需要改进的不⾜之处,同时还要描述测试⼈员突破防线的⼿段、获取到的信息,并且提供修复问题的建议等内容。
撰写渗透测试报告是门学问。要掌握各种技巧,只能多加练习。测试⼈员要使⽤清晰的专业语⾔,让所有⼈准确理解测试过程中发现的具体问题。此处的“所有⼈”不进包括客户⽅从负责修复漏洞的IT⼈员到负责签字确认改进进度的⾼管在内的全部内部⼈员,还包括与客户有关的外部审计⼈员。举例来讲,如果把“测试⼈员通过MS08-067(的exploit)拿到了⼀个shell”这样的⽂字递交给客户的⾮技术⼈员,那么他/她肯定会想“这个shell是贝壳(seashell)之类的什么壳吗?”实际上,测试⼈员应当在此处描述可获取(甚⾄改动)数据的具体⽤途。⽐⽅说,如果将此处的“拿到了⼀个shell”改为“(测试⼈员)能够读取某⼈的邮件”,那么所有⼈都能理解这是什么问题了。
渗透测试的书⾯报告应当分为执⾏摘要(executive summary)和技术报告(technical report)两个段落。这两个段落的内容⼤致如下。
执⾏摘要
执⾏摘要是对测试⽬标和调查结果的⾼度总结。它主要⾯向那些负责信息安全计划的主管⼈员。执⾏摘要通常由⼀下⼏个⽅⾯构成。
1、背景介绍(background):测试⼈员不仅要在“背景介绍”中记录此次测试的实际⽬的,⽽且还要向管理⼈员介绍哪些他们不常接触的技术术语。诸如:“漏洞”和“对策”之类的专业术语,都应当再次进⾏书⾯说明。
2、整体评估(overall posture):各类问题的⾼度总结。此处应当列举测试过程中发现的问题清单(例如,可被利⽤的微软漏洞MS08-076),以及导致安全隐患的相应问题(例如,缺少补丁管理措施等)。
3、风险预测(risk profile):企业安全状况的级别评定。测试⼈员通常参照同⾏业的其他企业情况,使⽤“⾼/中/低”等评定语⾔,对客户的安全级别等级划分。此外,测试⼈员还应当补充说明级别评定的相应标准。
4、调查总结(general findings):通过统计分析和定量分析的⽅法,对已有安全防范措施的实际效果进⾏的总结性描述。
5、改进建议(recommendation summary):解决现有问题的初步建议。
6、战略规划(strategic road map):向客户建议的⽤于增强安全性的长短期规划。举例,为了解决现有问题,测试⼈员可能建议客户安装某些漏洞修补程序。但是从长期的⾓度来讲,除⾮⽤户实现某种补丁管理(patch management),否则不就之后他们还会⾯临同样的安全困境。
技术报告
技术报告择应记录测试过程中的各种技术细节。它通常由以下⼏个⽅⾯构成。
项⽬简介:项⽬范围、联系⼈等信息的详细记录
信息收集:在信息收集阶段发现的各种问题。客户会特别关注Internet上的系统⼊⼝信息。
文具盒生产过程漏洞评估:在漏洞分析阶段发现的所有技术细节。
漏洞验证及攻击⽅法验证:漏洞验证阶段的技术细节。
深度攻击:深度攻击阶段发现的问题细节。
风险及暴露程度分析:对已知风险的定量分析。在相关篇幅⾥,测试⼈员应以假想攻击⼈员成功利⽤
各种安全漏洞为前提,评估已知问题可能产⽣的各类损失。
结论:整个渗透测试项⽬的最终总结。
本⽂节选来源于《渗透测试》⼀书。

本文发布于:2023-06-06 23:19:32,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/4/129084.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:测试   客户   阶段
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图