来源:《网站渗透测试实战入门》 作者:陈明照 机械工业出版社
- 渗透测试的目的:
- 了解入侵者可能利用的途径
- 信息不当
- 网络架构之设计问题
- 防火墙之设置问题
- 系统及应用程序的漏洞
- 系统及应用程序的设置问题
- 了解系统及网络的安全强度
- 评估具同等能力的入侵者大约需要花费多久的时间才能入侵成功
- 评估遭到入侵后可能造成的影响
- 评估信息通信安全政策的落实程度
- 了解弱点、强化安全
- 强化系统及网络的安全
- 降低遭到入侵后的损失
- 了解入侵者可能利用的途径
- 渗透测试的基本程序
- 测试前的准备
- 进行渗透测试之前,应先跟甲方协商测试范围、测试期间及时段、测试方法或使用工具、测试判定条件等。
- 尽管是测试,但也需要跟甲方沟通好系统宕机或数据损毁的可能性,以及应对的解决方法、测试期间如发现其他入侵迹象时之相对应对策,并提醒双方24小时的联系方式,以便应对突发状况。
- 上述协商结果应整理成渗透测试同意书及执行策划书。渗透测试同意书必须经由甲方和乙方共同签署,乙方取得签署完成后的渗透测试同意书后才可以真正执行渗透测试的操作。
- 启动会议
- 甲方和乙方共同召开会议,乙方于会议中说明预计进行事项及时间规划,若甲方无异议,即宣布测试操作正式开始。
- 信息搜集
- 使用扫描工具扫描或与甲方沟通。
- 网络与主机扫描(弱点评估)
- 确定受测目标的IP后,可尝试与靶机互动,以取得打开的端口列表、使用的操作系统、网络应用程序的名称与版本、是否存在已知的弱点、如果可以,可以找到用户甚至维护人员的身份信息,这将对猜测系统的账号或密码有所帮助。
- 弱点利用
- 在上步骤找到的任何漏洞,都是我们在此阶段可加以验证的地方,利用这些可能的弱点,尝试取得系统的控制权限或者存取敏感数据。
- 渗透测试应用的手法或使用工具与真实黑客攻击相差无几,无论如何,在进行弱点李勇的同时可能会造成下列影响,必须事先拟妥相应对策:
- 应用程序无法响应或严重延迟
- 系统宕机
- 数据(库)内容损毁
- 第三方(比如黑客)可能顺着工具打开的通道进行实质入侵
- 入侵之后
- 记住:渗透测试不一定要执行这个步骤,如果真要执行,应该事先跟甲方说明潜在的风险,任何置入的后门或行踪隐藏动作,都可能被转移成黑客入侵的通道或无意间清除黑客入侵的痕迹。
- 撰写渗透测试报告
- 渗透测试操作完成后,需要提交一份报告书给甲方,渗透测试报告必须详细列出如下内容:
- 测试过程记录(最好有截图证明)
- 所有弱点及其造成的影响,若为误判,亦应该说明无法达成渗透的测试步骤
- 弱点或漏洞的风险等级及修补建议
- 平凡的测试+好的报告>好的测试+平凡的报告
- 渗透测试操作完成后,需要提交一份报告书给甲方,渗透测试报告必须详细列出如下内容:
- 结案会议
如同项目开始时,双方共同召开会议一般,测试完成后,亦由双方召开结案会议,有乙方于会议中报告执行的过程及结果,并提出修正或防护建议 ,即将渗透测试报告书的内容摘录成简报,由甲方确认测试成果,若甲方对报告内容无异议,即可完成渗透测试项目。
对加以双方而言,结案会议后,若无待解决事项,即表示项目结束。
- 测试前的准备
- 测试程序的PDCA
- P(Plan):对应数据搜集,依照数据分类结果,拟定测试策略
- D(Do):对应弱点评估,依照策略对测试目标的可能接触点进行扫描,以扩大测试范围,或挖掘可能存在的弱点
- C(Check):对应弱点验证,确认弱电是否存在可利用的程度。
- A(Action):对应入侵之后,也就是漏洞利用,如果此弱点可以被利用进而可扩大测试范围,就可以再从新发现的接触点执行资料搜集操作。
好比在进行弱点评估(步骤四)时未发现的注入点,因利用弱点,成功突破目前的关卡后,发现新的注入点,就必须再对此注入点执行资料搜集操作及进行弱点评估。
同理,入侵成功以后(如果利用猜测或暴力破解而取得某用户的账号或密码),因为可以接触到更深一层的操作,我们就需要对新的操作执行弱点评估、弱点利用等操作。