PTES_渗透测试执行标准

渗透测试执行标准

Posted by Fa1ConZ on December 1, 2018

[TOC]

前期交互阶段

确定范围

  • 如何确定范围
  • 时间估计
    • 预估整体项目时间周期
    • 确定以小时计的额外技术支持
  • 问答交谈
    • 业务管理部门
    • 系统管理员
    • IT支持
    • 普通雇员
  • 范围勘定
    • 确定项目起止时间
    • 项目授权信件
    • 进入目标规划环节
  • 确定IP和域名范围
    • 验证范围
  • 处理第三方资源
    • 云服务
    • ISP
    • 网站宿主
    • MSSP
    • 服务器所在国家
  • 定义可接受的社会工程学方法
  • 拒绝服务测试
  • 确定支付细节
  • Delphi Scoping?

目标规划

  • 确定目标
    • 首要目标
    • 额外目标
  • 业务分析
    • 定义目标企业的安全成熟度
  • 需求分析

测量术语和定义

  • 渗透测试术语词汇表

建立通讯渠道

  • 紧急联络方式
  • 应急响应流程
  • 确定一个接口联络人
  • PGP或其他加密方式
  • 取得与外部第三方的联络方式(宿主…

交互确定规则

  • 时间线
  • 地点
  • 渗透攻击的控制基线
  • 敏感信息的披露
  • 证据处理
  • 例行的进展报告会
    • 计划
    • 进展
    • 问题
  • 每天可进行渗透测试的时间
  • 避开的范围与规则
  • 攻击授权

存在的防御能力和技术

  • 应急响应和监控

保护你自己

  • 准备你的测试系统
  • 前期交互检查表
  • 数据包监听
  • 后期交互检查表

情报搜集阶段

目标选择

开放渠道情报

企业

  • 物理
    • 位置
    • 分布
    • 关系网
  • 逻辑
    • 业务伙伴
    • 竞争对手
    • 接触关联图
    • 物业服务轮廓图
    • 产品线
    • 垂直市场
    • 销售银行账号
    • 会议安排
    • 关键企业日期
    • 招聘岗位
    • 慈善事业关系
  • 组织架构
  • 电子
  • 财务

个人(雇员)

  • 履历背景
  • 社交关系网
  • 互联网足迹
  • 博客
  • 最新动态
  • 物理位置
  • 移动足迹
  • 工资银行账户

白盒搜集

  • 场内
  • 场外

人力资源情报

  • 关键雇员
  • 合作伙伴/供应商
  • 社会工程学

踩点

外部踩点

  • 识别客户范围
  • 被动信息搜集
  • 主动探测
  • 建立目标列表
    • 确定版本信息
    • 识别补丁级别
    • 搜索脆弱的Web应用
    • 确定封禁阈值
    • 出错信息
    • 找出攻击的脆弱端口
    • 过时系统
    • 虚拟化平台和虚拟机
    • 存储基础设施

内部踩点

  • 主动探测
    • 端口扫描
    • SNMP探查
    • 区域传送
    • SMTP反弹攻击
    • 解析DNS与递归DNS服务器
    • 旗标攫取
    • VoIP扫描
    • ARP探索
    • DNS探索
  • 被动信息搜集
  • 建立目标列表

识别防御机制

  • 网络防御机制
    • 简单包过滤
    • 流量整形设备
    • 信息泄露防护系统
    • 加密/隧道机制
  • 系统防御机制
    • 堆栈保护
    • 白名单列表
    • 反病毒软件/过滤/行为检测
    • 信息泄露防护系统
  • 应用层防御机制
    • 识别应用层防御
    • 编码选项
    • 可能潜在的绕过机制
    • 白名单区域
  • 存储防御机制
    • 硬盘保护卡

威胁建模阶段

业务资产分析

  • 私人身份信息、健康信息和信用卡信息
  • 定义和找出组织的知识产权
  • 企业王国的关键资产
    • 商业秘密
    • 研究和开发
    • 市场计划
    • 企业银行/信用卡账户
    • 客户资料
    • 供应商资料
    • 关键雇员信息
      • 董事会
      • 中间管理层
      • 系统管理员
      • 工程师
      • 技术专家
      • 人力资源
      • 总裁助理

业务流程分析

  • 使用的基础设施
  • 人力基础设施
  • 使用的第三方平台

威胁对手/社区分析

  • 内部人员
    • 董事会
    • 中间管理层
    • 系统管理员
    • 开发者
    • 工程师
    • 技术专家
  • 竞争对手
  • 国家政府
  • 有组织的犯罪团队
  • 周末工作的网际黑客

威胁能力分析

  • 分析使用的工具
  • 可用的相关渗透代码和攻击载荷
  • 通讯机制(加密、下载站点、命令控制、安全宿主站点)

相关公司被攻击新闻

漏洞分析阶段

测试

主动

  • 自动化技术
    • 通用漏洞扫描
      • 基于端口
      • 基于服务
      • 旗标攫取
    • Web应用扫描器
      • 通用的应用层漏洞扫描
      • 目录列举和暴力破解
      • Web服务版本和漏洞标识
      • 存有漏洞的方法
    • 网络漏洞扫描器
      • VPN
      • IPv6
    • 语音网络扫描
      • 战争拨号
      • VoIP扫描
  • 手工方法
    • 针对性连接
  • 躲避技术
    • 多源探测
    • IDS逃逸
    • 可变的速度
    • 可变的范围

被动

  • 自动化技术
    • 从内部获取的元数据分析
    • 流量监控(如P0f等)
  • 手工方法
    • 针对性连接

验证

  • 扫描器结果关联分析
  • 手工验证/协议相关
    • VPN:指纹识别
    • Citrix:差点
    • DNS
    • Web
    • Mail
  • 攻击路径
    • 创建攻击树
  • 隔离实验室中试验
  • 效果确认
    • 手工验证与评审

研究

  • 对公开资源的研究
    • exploit-db
    • Google Hacking
    • 渗透代码网站
    • 通用/缺省口令
    • 厂商的漏洞警告
  • 私有环境下的研究
    • 建立一个复制环境
    • 测试安全配置
    • 找出潜在攻击路径

渗透攻击阶段

精准打击

绕过防御机制

  • 反病毒
    • 编码
    • 加壳
    • 白名单绕过
    • 进程注入
    • 纯内存方式
  • 人工检查
  • 网络入侵防御系统
  • DEP
  • ASLR
  • VA+NX(Linux)
  • w^x(openBSD)
  • Web应用防火墙
  • 栈保护

定制渗透攻击路径

  • 最佳攻击路径
  • 零日攻击
    • Fuzzing
    • 逆向分析
    • 流量分析
  • 公开渗透代码的定制
  • 物理访问
    • 人为因素
    • 主机访问
    • USB接口访问
    • 防火墙
    • RFID
    • 中间人攻击
    • 路由协议
    • VLAN划分
    • 其他硬件(键盘记录器等)
  • 接近的访问(WiFi)
    • 攻击AP
    • 攻击用户
    • 电子频谱分析
  • 拒绝服务/勒索
  • Web
    • SQLi
    • XSS
    • CSRF
    • 信息泄露
    • 其他OWASP Top 10

绕过监测机制

  • FW/WAF/IDS/IPS绕过
  • 绕过管理员
  • 绕过数据泄露防护系统

触发攻击响应控制措施

渗透代码测试

攻击类型

  • 客户端攻击
    • Phishing
  • 服务端攻击
  • 带外攻击

后渗透攻击阶段

基础设施分析

  • 当前网络连接分析
  • 网络接口查询
  • VPN检测
  • 路由检测,包括静态路由
  • 网络邻居和系统探查
  • 使用的网络协议
  • 使用的代理服务器
  • 网络拓扑

高价值目标识别

掠夺敏感信息

  • 视频监控器和摄像头
  • 从可用通道获取敏感数据
  • 查找共享目录
  • 音频监控
    • VoIP
    • 麦克风记录
  • 高价值文件
  • 数据库查点
  • WiFi
  • 源代码库
  • 识别出客户管理应用
  • 备份
    • 本地备份文件
    • 中央备份服务器
    • 远程备份方案
    • 录音存储备份

业务影响攻击

  • 业务盈利途径
  • 窃取业务盈利

进一步对基础设施的渗透

  • 僵尸网络
  • 入侵内网
  • 检查历史/日志
    • Windows
    • Linux
    • 浏览器

掩盖踪迹

  • 记录渗透攻击过程步骤
  • 确保清理现场
  • 删除测试数据
  • 对证据进行打包和加密
  • 必要时从备份恢复数据

持续性存在

  • 自启动恶意代码
  • 反向链接
  • Rootkit
    • 用户模式
    • 内核模式
  • 命令控制媒介(http,dns,tcp,icmp)
  • 后门
  • 植入代码
  • 口令保护的VPN

报告阶段

执行层面的报告

  • 业务影响
  • 定制
  • 与业务部门的谈话
  • 影响底线
  • 策略方法路径
  • 成熟度模型
  • 风险评估术语说明
  • 攻击过程与Gant图时间线
  • 风险评估
    • 评估事故频率
      • 可能的时间频率
      • 估计威胁能力(从阶段3-威胁建模阶段而来)
      • 评估控制措施强度(从阶段6)
      • 安全漏洞与弱点评估(从阶段5)
      • 所需技能要求
      • 所需访问权限等级
    • 每次事故的损失估计
    • 风险推算
      • 威胁
      • 漏洞
      • 组合风险值

技术报告

  • 识别系统性问题和技术根源分析
  • 渗透测试评价指标
    • 范围内的系统数量
    • 范围内的应用场景数量
    • 范围内的业务流程数量
    • 被检测到的次数
    • 漏洞/漏洞主机数量
    • 被攻陷的系统数量
    • 成功攻击的应用场景数量
    • 攻陷的业务流程次数
  • 技术发现
    • 描述
    • 截图
    • 抓取的请求与响应
    • 概念验证性样本代码
  • 可重现结果
    • 测试用例
    • 触发错误
  • 应急响应和监控能力
    • 情报收集阶段
    • 漏洞分析阶段
    • 渗透攻击阶段
    • 后渗透攻击阶段
    • 其他方面(如对第三方的通知等)
  • 标准组成部分
    • 方法体系
    • 目标
    • 范围
    • 发现摘要
    • 风险评定的术语附录

提交报告

  • 初始报告
  • 客户对报告的评审结果
  • 对报告的修订
  • 最终报告
  • 报告初稿与最终报告的版本管理
  • 展示报告
    • 技术层面
    • 管理层面
  • 工作例会/培训
    • 差距分析(技能/培训)
  • 保存证据和其他非产权的数据
  • 纠正过程
    • 分流
    • 安全成熟度模型
    • 工作进展计划
    • 长期解决方案
    • 定义限制条件
  • 开发定制工具

//