PTES渗透测试执行标准
前期交互阶段
一、确定范围
<1>如何确定范围
1、时间估计
a 预估整体项目的时间周期
b 确定以小时计的额外技术支持
2、问答交谈
a 对业务管理部门的问答交流
b 对系统管理员的问答交流
c 对IT支持的问答交流
d 对普通雇员的问答交流
3、范围勘定
a 确定项目起止时间
b 项目授权信件
c 进入目标规划环节
4、验证范围
确定IP和域名范围
5、处理第三方资源
a 云服务
b ISP
c 网站宿主
d MSSP
e 服务器所在国家
6、定义可接受的社会工程学方法
7、拒绝服务测试
8、确定支付细节
9、Delphi Scoping?
<2>目标规划
1、确定目标
a 首要目标
b 额外目标
2、业务分析
定义目标企业的安全成熟度
3、需求分析
<3>测试术语和定义
渗透测试术语词汇表
<4>建立通讯渠道
1、紧急联络方式
2、应急响应流程
3、进展报告周期
4、确定一个接口联络人
5、PGP或者其他加密方式
6、取得与外部第三方的联络方式(宿主…)
<5>交互确定规则
1、时间线
2、地点
3、渗透攻击的控制基线
4、敏感信息的纰漏
5、证据处理
6、例行的进展报告会
a 计划
b 进展
c 问题
7、每天可进行渗透测试的时间
8、避开的范围与规则
9、攻击授权
<6>存在的防御能力和技术
应急响应 和监控
<7>保护你自己
1、准备你的测试系统
2、前期交互检查表
3、数据包监听
4、后期交互检查表
二、情报搜索
<1>目标选择
<2>开放渠道情报
1、企业
A 物理
a 位置
b 分布
c 关系网
B 逻辑
a 业务伙伴
b 竞争对手
c 接触关联圈
d 物业服务轮廓图
e 产品线
f 垂直市场
g 销售银行账号
h 会议安排
i 关键企业日期
j 招聘岗位
k 慈善事业关系
C 组织架构
D 电子
F 财务
2、个人
雇员
a 履历背景
b 社交关系网
c 互联网足迹
d 博客
e 最新动态
f 物理位置
g 移动足迹
h 工资银行账户
<3>白盒搜所
1、场内搜索
2、场外搜索
<4>人力资源情报
1、关键雇员
2、合作伙伴/供应商
3、社会工程学
<5>踩点
1、外部踩点
a 识别客户范围
b 被动信息搜索
c 主动探测
d 建立目标列表
确定版本信息
识别补丁级别
搜索脆弱的web应用
确定封闭阙值
出错信息
找出攻击的脆弱端口
过时系统
虚拟化平台和虚拟机
存储基础设备
2、内部踩点
a 主动探测
端口扫描
SNMP探查
区域传送
SMTP反弹攻击
解析DNS与递归DNS服务器
旗标摄取
VoIP扫描
ARP探索
DNS探索
b 被动信息搜索
c 建立目标列表
<6>识别防御机制
1、网络防御机制
a 简单包过滤
b 流量整形设备
c 信息泄露防护系统
d 加密/隧道机制
2、系统防御机制
a 堆栈保护
b 白名单列表
c 反病毒软件/过滤/行为检测
d 信息泄露防护系统
3、应用层防御机制
a 识别应用层防御
b 编码选项
c 可能潜在的绕过机制
d 白名单区域
4、存储防御机制
a 硬盘保护卡
…
三、威胁建模
<1>业务资产分析
1、私人身份信息,私人健康信息和信用卡信息
2、定义和找出组织的知识产权
3、企业王国的关键资产
a 商业秘密
b 研究和开发
c 市场计划
d 企业银行/信用卡账户
e 客户资料
f 供应商资料
g 关键雇员信息
董事会
中间管理层
系统管理员
工程师
技术专家
人力资源
总裁助理
<2>业务流程分析
1、使用的基础设施
2、人力基础设施
3、使用的第三方平台
<3>威胁对手/社区分析
1、内部人员
a 董事会
b 中间管理层
c 系统管理员
d 开发者
e 工程师
f 技术专家
2、竞争对手
3、国家政府
4、有组织的犯罪团队
5、周末工作的网际武士
<4>威胁能力分析
1、分析使用的工具
2、可用的相关渗透代码和攻击载荷
3、通讯机制(加密,下载站点,命令控制,安全宿主站点)
<5>找出相关公司被攻击的新闻
四、漏洞分析
<1>测试
1、主动
A 自动化技术
a 通用漏洞扫描
基于端口
基于服务
旗标摄取
b Web应用扫描器
通用的应用层漏洞扫描
目录列举和暴力破解
Web服务版本和漏洞辨识
存有漏洞的方法
c 网络漏洞扫描器
VPN
IPv6
d 语音网络扫描
战争拨号
VoIP扫描
B 手工方法
针对性连接
C 躲避技术
a 多源探测
b IDS逃逸
c 可变的速度
d 可变的范围
2、被动
A 自动化技术
a 从内部获取的元素数据分析
b 流量监控(如POf等)
B 手工方法
针对性连接
<2>验证
1、扫描器结果关联分析
2、手工验证/协议相关
a VPN
指纹识别
b Citrix
查点
c DNS
d Web
e Mail
3、攻击路径
创建攻击树
4、隔离实验室中试验
5、效果确认
手工验证与评审
<3>研究
1、对公开资源的研究
a exploit-db
b Google Hacking
c 渗透代码网站
d 通用/缺省口令
e 厂商的漏洞警告
2、私有环境下的研究
a 建立一个复制环境
b 测试安全配置
c 找出潜在攻击路径
五、渗透攻击
<1>精准打击
<2>绕过防御机制
a 反病毒
编码
加壳
白名单
进程注入
纯内存方式
b 人工检查
c 网络入侵防御系统
d DEP
e ASLP
f VA+NX(Linux)
g w^x(openBSD)
h Web应用防火墙
i 栈保护
<3>定制渗透攻击路径
1、最佳攻击路径
2、零日攻击
a Fuzzing
b 逆向分析
c 流量分析
3、公开渗透代码的定制
4、物理访问
a 人为因素
b 主机访问
c USB接口访问
d 防火墙
e RFID
f 中间人攻击
g 路由协议
h VLAN划分
I 其他硬件(键盘记录器等)
5、接近的访问(WiFi)
a 攻击AP
b 攻击用户
c 电子频谱分析
6、拒绝服务/勒索
7、Web
a SQL
b XSS
c CSRF
d 信息泄露
e 其他OWASP Top 10
<4>绕过检测机制
1、FW/WAF/IDS/IPS绕过
2、绕过管理员
3、绕过数据泄露防护系统
<5>触发攻击响应控制措施
<6>渗透代码测试
<7>攻击类型
a 客户端攻击
Phisshing
b 服务端攻击
c 带外攻击
六、后渗透攻击
<1>基础设施分析
1、当前网络 链接分析
2、网络接口查询
3、VPN检测
4、路由检测,包括静态路由
5、网络邻居与系统探查
6、使用的网络协议
7、使用的代理服务器
8、网络拓扑
<2>高价值目标识别
<3>掠夺敏感信息
a 视频监控器和摄像头
b 从可用通道获取敏感数据
c 查找共享目录
d 音频监控
VoIP
麦克风记录
e 高价值文件
f 数据库查点
g WiFi
h 源代码库
i 识别出客户管理应用
j 备份
本地备份文件
中央备份服务器
远程备份方案
录音存储备份
<4>业务影响攻击
1、业务盈利途径
2、窃取业务盈利
<5>进一步对基础设施的渗透
1、僵尸网络
2、入侵内网
3、检查历史/日志
a windows
b Linux
c 浏览器
<6>掩踪灭迹
1、记录渗透攻击过程步骤
2、确保清理现场
3、删除测试数据
4、对证据进行打包和加密
5、必要时从备份恢复数据
<7>持续性存在
1、自启动恶意代码
2、反向连接
3、Rootkit
a 用户模式
c 内核模式
4、命令控制媒介(http,dns,tcp,icmp)
5、后门
6、植入代码
7、口令保护的vpn
七、提交报告
<1>初始报告
<2>客户对报告的评审结果
<3>对报告的修订
<4>最终报告
<5>报告初稿与最终报告的版本管理
<6>展示报告
1、技术层面
2、管理层面
<7>工作例会/培训
差距分析(技能/培训)
<8>保证证据和其他非产权的数据
<9>纠正过程
1、分流
2、安全成熟度模型
3、工作进展计划
4、长期解决方案
5、定义限制条件
<10>开发定制开具