渗透测试执行标准(七个阶段)
- 前期交互
- 情报搜集
- 威胁建模
- 漏洞分析
- 渗透攻击
- 后渗透攻击
- 报告
前期交互阶段
确定渗透测试的范围和目标,是连接客户与渗透测试工程师的桥梁
范围:哪些目标允许测试,哪些不允许测试;测试的类型(黑盒/白盒),时间段,费用及支付条款
测试文档包含以下问题的答案:
- 目标组织的最大安全问题
- 对哪些主机、网络地址或者应用程序进行测试
- 测试过程是否允许使用第三方系统或者网络
- 在现场测试还是虚拟测试环境中进行
- 是否包括以下测试技术:ping、端口扫描、漏洞扫描等
- 是否包括内网测试
- 是否允许社工
- 是否允许DoS
目标:测试预期达到的主要和次要效果
- 测试的商业需求是什么?(审计和标准化的目的还是积极主动的内部决策)
- 列出所有漏洞
- 证明各种漏洞的存在
- 测试各种事件响应
- 对网络、系统或者应用程序漏洞 的渗透模块开发
- 以上全部
用到的术语和定义:想向客户介绍术语和定义,以便客户能更好的理解整个渗透测试工作
规定:工期、进度表、授权许可
- 测试时间
- 是否在生产环境下进行
- 技术要点的联系人
情报搜集阶段
蚕蛹各种方式尽可能收集目标网络的信息
最为重要的阶段之一,大幅缩短渗透测试时间,该阶段占到整个测试时间的40-60%
步骤
- 目标选择:选择攻击目标,确定攻击达到的效果
- 隐私收集:现场信息 收集甚至从丢弃的废品中收集信息;目标单位外部的信息收集
- 踩点工作:主动和被动扫描技术
- 验证目标的安全机制:防火墙、网络流量过滤系统、网络和主机的保护措施的确认工作
威胁建模阶段
- 模拟出对目标的威胁以及威胁的作用,根据威胁可能对目标系统产生的影响进行分类
- 结合信息收集阶段做出的分析,确定最佳的攻击方式
- 需要解决的问题
- 如何攻击指定的网络
- 需要获取的重要信息是什么
- 采取什么攻击方式最合适
- 对目标最大的安全威胁
- 漏洞扫描工具(Nexpose或Metasploit Pro)可以帮助自动化的快速的完成威胁建模
漏洞分析阶段
- 在一个系统或者应用程序中发现漏洞的过程
- 服务器的配置
- Web应用程序
- 应用程序
- 数据库
- 三种机制
- 测试:主动测试和被动测试
- 验证:去除误报、验证漏洞的真实存在
- 研究:发现并触发漏洞以确认它的存在
渗透攻击阶段和后渗透攻击阶段
渗透攻击阶段可以利用以前漏洞分析阶段的成功,是真正的攻击阶段
后渗透攻击阶段包括了当成功渗透攻击到对方计算机以后的很多任务,比如提权、上传和下载文件、跳板攻击等
- 以特定的业务系统为目标,识别出关键基础设施,并寻找客户最有价值的资产
报告阶段
报告的主要组成部分:
- 确定目标最为重要的威胁
- 将渗透测试得到的数据生成表格和图表
- 对目标系统的改进建议
- 对问题的修复方案