企业安全 ·

新排版逻辑PTES渗透测试执行标准化流程

为什么整理此文:

网上pdf和各种脑图用于学习和理解渗透测试过程非常有用,但是实际工作中还是步步为营的进行操作和执行比较靠谱,这样的排版逻辑可以方便我们大家自上而下的参照着流程从而更好的增删改查自己,优化着将整个流程完美执行。

什么是渗透测试:

渗透测试,是为了证明网络防御按照预期计划正常运行而提供的一种机制。不妨假设,你的公司定期更新安全策略和程序,时时给系统打补丁,并采用了漏洞扫描器等工具,以确保所有补丁都已打上。如果你早已做到了这些,为什么还要请外方进行审查或渗透测试呢?因为,渗透测试能够独立地检查你的网络策略,换句话说,就是给你的系统安了一双眼睛。而且,进行这类测试的,都是寻找网络系统安全漏洞的专业人士。

什么是PTES:

全业界看待和定义渗透测试过程的方式有了一些转变,已被安全业界中几个领军企业所采纳的渗透测试执行标准(PTES:Penetration Testing Execution Standard)正在对渗透的事进行重新定义,新标准的核心理念是通过建立起进行渗透测试所要求的基本准则基线,来定义一次真正的渗透测试过程,并得到安全业界的广泛认同。这将对渗透测试领域的“新手”和“老鸟”们都会产生一些影响,如果你刚刚涉足渗透测试领域,或者对渗透测试执行标准还不太熟悉,请访问http://www.pentest-standard.org/进行进一步了解。

详细流程:

一、前期交互阶段:

确定范围及如何确定范围:

1、时间估计:

  • 预估整体项目的时间周期
  • 确定以小时计的额外技术支持

2、问答交谈:

  • 对业务管理部门的问答交谈
  • 对系统管理员的问答交流
  • 对IT支持的问答交流
  • 与普通雇员的问答交流

3、范围勘定:

  • 确定项目起止时间
  • 项目授权信件
  • 进入目标规划环节

4、确定IP和域名范围:

  • 验证范围

5、处理第三方资源:

  • 云服务
  • ISP
  • 网站宿主
  • MSSP
  • 服务器所在国家

6、定义可接受的社会工程学方法

7、拒绝服务测试

8、确定支付细节

9、Delphi Scoping?我个人认为是探讨额外的测试细节和程序

目标规划:

1、确定目标:

  • 首要目标
  • 额外目标

2、业务分析:

  • 定义目标企业的安全成熟度

3、需求分析:

测试术语和定义:

  • 渗透测试术语汇总表

建立通讯渠道:

  • 紧急联络方式
  • 应急响应流程
  • 进展报告周期
  • 确定一个接口联络人
  • PGP或其他加密方式
  • 取得与外部第三方的联络方式(第三方资源中的服务供应角色)

交互确定规则:

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

存在的防御能力和技术:

  • 应急响应和监控

保护你自己:

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

二、情报搜集:

目标选择:

开房渠道情报:

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

2、个人:

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

白盒搜集:

1、场内搜集

2、场外搜集

人力资源情报:

1、关键雇员

2、合作伙伴/供应商

3、社会工程学

踩点:

1、外部踩点:

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

2、内部踩点:

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

识别防御机制:

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

三、威胁建模:

业务资产分析:

1、私人身份信息,私人健康信息和信用卡信息

2、定义和找出组织的知识产权

3、企业王国的关键资产:

  • 商业秘密
  • 研究和开发
  • 市场计划
  • 企业银行/信用卡账户
  • 客户资料
  • 供应商资料
  • 关键雇员信息:董事会、中间管理层、系统管理员、工程师、技术专家、人力资源、总裁助理。

业务流程分析:

1、使用的基础设施

2、人力基础设施

3、使用的第三方平台

威胁对手/社区分析:

1、内部人员

  • 董事会
  • 中间管理层
  • 系统管理员
  • 开发者
  • 工程师
  • 技术专家

2、竞争对手

3、国家政府

4、有组织的犯罪团队

5、周末工作的网际武士

威胁能力分析:

1、分析使用的工具

2、可用的相关渗透代码和攻击载荷

3、通讯机制:

  • 加密
  • 下载站点
  • 命令控制
  • 安全宿主站点

找出相关公司被攻击的新闻:

四、漏洞分析:

测试:

1、主动

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

2、被动

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

验证:

1、扫描器结果关联分析

2、手工验证/协议相关

  • VPN:指纹识别
  • Citrix:查点
  • DNS
  • Web
  • Mail

3、攻击路径

  • 创建攻击树

4、隔离实验室中试验

5、效果确认

  • 手工验证与评审

研究:

1、对公开资源的研究:

  • exploit-db
  • Google Hacking
  • 渗透代码网站
  • 通用/缺省口令
  • 厂商的漏洞警告

2、私有环境下的研究:

  • 建立一个复制环境
  • 测试安全配置
  • 找出潜在攻击路径

五、渗透攻击:

精准打击:

绕过防御机制:

1、反病毒:

  • 编码
  • 加壳
  • 白名单绕过
  • 进程注入
  • 纯内存方式。

2、人工检查

3、网络入侵防御系统

4、DEP

5、ASLR

6、VA+NX(Linux)

7、w^x(openBSD)

8、Web应用防火墙

9、栈保护

定制渗透攻击路径:

1、最佳攻击路径

2、零日攻击:

  • Fuzzing
  • 逆向分析
  • 流量分析

3、公开渗透代码的定制

4、物理访问:

  • 人为因素
  • 主机访问
  • USB接口访问
  • 防火墙
  • RFID
  • 中间人攻击
  • 路由协议
  • VLAN划分
  • 其他硬件(键盘记录器等)

5、接近的访问(WIFI):

  • 攻击AP
  • 攻击用户
  • 电子频谱分析

7、拒绝服务/勒索

8、Web:

  • SQLi
  • XSS
  • CSRF
  • 信息泄露
  • 其他OWASP Top 10

绕过检测机制:

1、FW/WAF/IDS/IPS绕过

2、绕过管理员

3、绕过数据泄露防护系统

触发攻击响应控制措施

渗透代码测试

攻击类型:

1、客户端攻击:

  • Phishing

2、服务端攻击

3、带外攻击

六、后渗透攻击:

基础设施分析:

1、当前网络连接分析

2、网络接口查询

3、VPN检测

4、路由检测,包括静态路由

5、网络邻居与系统探查

6、使用的网络协议

7、使用的代理服务器

8、网络拓扑

高价值目标识别

掠夺敏感信息:

1、视频监控器和摄像头

2、从可用通道获取敏感数据

3、查找共享目录

4、音频监控

  • VoIP
  • 麦克风记录

5、高价值文件

6、数据库查点

7、WIFI

8、源代码库

9、识别出客户管理应用

10、备份

  • 本地备份文件
  • 中央备份服务器
  • 远程备份方案
  • 录音存储备份

业务影响攻击:

1、业务盈利途径

2、窃取业务盈利

进一步对基础设施的渗透:

1、僵尸网络

2、入侵内网

3、检查历史/日志

  • Windows
  • Linux
  • 浏览器

掩踪灭迹:

1、记录渗透攻击过程步骤

2、确保清理现场

3、删除测试数据

4、对证据进行打包和加密

5、必要时从备份恢复数据

持续性存在:

1、自启动恶意代码

2、反向连接

3、Rootkit:

  • 用户模式
  • 内核模式

4、命令控制媒介:

  • http
  • dns
  • tcp
  • icmp

5、后门

6、植入代码

7、口令保护的VPN

七、报告:

执行层面的报告:

1、业务影响

2、定制

3、与业务部门的谈话

4、影响底线

5、策略方法路径

6、成熟度模型

7、风险评估术语说明

8、攻击过程与Gant图时间线

9、风险评估:

  • 评估事故频率:可能的时间频率、估计威胁能力(从阶段3威胁建模阶段而来)、评估控制措施强度(从阶段6)、安全漏洞与弱点评估(从阶段5)、所需技能要求、所需访问权限等级。
  • 每次事故的损失估计
  • 风险推算:威胁、漏洞、组合风险值。

技术报告:

1、识别系统性问题和技术根源分析

2、渗透测试评价指标:

  • 范围内的系统数量
  • 范围内的应用场景数量
  • 范围内的业务流程数量
  • 被检测到的次数
  • 漏洞/漏洞主机数量
  • 被攻陷的系统数量
  • 成功攻击的应用场景数量
  • 攻陷的业务流程次数等

3、技术发现:

  • 描述
  • 截图
  • 抓取的请求与响应
  • 概念验证性样本代码

4、可重现结果:

  • 测试用例
  • 触发错误

5、应急响应和监控能力:

  • 情报收集阶段
  • 漏洞分析阶段
  • 渗透攻击阶段
  • 后渗透攻击阶段
  • 其他方面(如对第三方的通知等)

6、标准组成部分:

  • 方法体系
  • 目标
  • 范围
  • 发现摘要
  • 风险评定的术语附录

提交报告:

1、初始报告

2、客户对报告的评审结果

3、对报告的修订

4、最终报告

5、报告初稿与最终报告的版本管理

6、展示报告

  • 技术层面
  • 管理层面

7、工作例会/培训:

  • 差距分析(技能/培训)

8、保证证据和其他非产权的数据

9、纠正过程:

  • 分流
  • 安全成熟度模型
  • 工作进展计划
  • 长期解决方案
  • 定义限制条件

10、开发定制工具

PDF脑图:

View Fullscreen

 

 

参与评论