执行步骤
1、 测试前的准备
应先跟授权方协商测试范围、测试时间以及时段、测试方法和使用的工具、测试判定条件;
向授权方说明系统宕机或者数据毁损的可能性、以及应对的解决方法、测试期间如发现其他入侵迹象时相应的对策;
建立24小时联系方式,以便处理各种突发状况;
上述协商结果整理成渗透测试同意书以及执行计划书,渗透测试同意书必须经由授权方主管或授权签署人、测试放团队主管共同签署,必要时亦可由参与项目的双方相关人员签名,测试放取得签署完成的渗透测试同意书后,方可真正执行渗透测试操作。
2、 启动会议
在渗透测试开始之前,由授权方和测试方的相关人员共同召开会议;
测试方会议中说明预计进行的事项以及时间规划,若授权方对测试方的说明无异议,测试方可正式进行。
3、 信息搜集
首先测试方从互联网上搜集首测系统相关的信息。使用黑箱测试时,授权方只告诉测试方URL地址,测试方尽可能的找出受测系统的信息已经外围设备的IP,或通过历史页面查找已发现的漏洞;
若系统是内部系统,该步骤可跳过。
4、 网络与主机扫描(弱点评估)
确定受测系统的IP后,可尝试与受测系统互动,以取得打开的端口列表、使用的OS、网络应用程序名称与版本、是否存在已知弱点,甚至获取到网站相关管理人员的信息和潜在用户的信息,这将对猜解系统账号和密码有所帮助;
若测试方属于内部人员,该步骤可跳过,直接从系统弱点入手。
5、 弱点利用
通过找到的可疑漏洞,利用这些可能的弱点,尝试取得系统的控制权或者取得敏感数据;
确认的弱点写入测试报告,并给予风险提示;
若为误判,也应提供说明告知授权方注意;
证明弱点对系统的威胁等级;
利用弱点提升权限,扩大攻击面;
尝试跨域渗透,评估整个信息框架的风险程度。
6、 入侵之后
该步骤不一定要执行,若要执行需授权方同意并告知潜在的风险,任何植入后门和行踪隐藏动作都可能被黑了所利用,给系统带来更大的危害。
7、 撰写渗透测试报告
渗透测试完成后,徐撰写渗透测试报告,并提交给授权方,报告内容必须包含以下内容:
测试过程记录(最好包括截图);
所有弱点机器造成的影响,若为误判,亦应说明无法达成渗透的测试步骤;
弱点或漏洞的风险等级以及修补建议。
测试报告应遵循以下要求:
简单明了;
不要在报告中“塞入”理论观点和测试团队成员的“丰功伟绩”。
8、 结案会议
同启动会议一样,亦有双方召开结案会议,由测试方报告执行的过程和结果,并提出修正和防护建议,将测试报告内容摘录成简报。授权方对报告内容无异议后,渗透测试项目完成。
测试程序的PDCA
在测试过程中,可以重复多个步骤进行更深入的处理,一再执行PDCA循环。
P(Plan):对应数据搜集,依照数据分类结果,拟定测试策略;
D(Do):对应弱点评估,依照策略对测试目标的可能接触点进行扫描,以扩大测试范围,或挖掘可能存在的弱点;
C(Check):对应弱点验证,确认弱点是否存在以及可利用的程度;
A(Action):对应入侵之后,也就是弱点利用,如果次弱点可以被利用,进而可扩大/深入测试范围,就可以再从新发现的接触点执行资料搜集操作。
欢迎关注bug百科公众号,长按识别