
渗透测试
先说句实话:渗透测试不是"黑进去就完了",它是一套有严格阶段划分的工程。一般业内参考 PTES(Penetration Testing Execution Standard) 的框架来走,大概分七个阶段。下面我按顺序捋一遍,每个阶段干什么、交出什么东西,一次说清楚。
目标:把"能做什么、不能做什么、做到什么程度"全对齐。
这阶段其实最容易被忽略,但出事也最多。你得跟甲方确认清楚:测哪些系统、IP 范围、测试窗口、能不能搞 DDoS、能不能碰生产数据、出了问题谁兜底。
产出物:《测试授权书》(必须有,没这个就是违法)、《测试范围与规则确认单》、《保密协议(NDA)》
目标:在不碰目标系统的前提下,把能摸到的信息全摸一遍。
分被动和主动两种。被动就是搜公开信息:子域名、GitHub 泄露的源码、员工 LinkedIn、Shodan 上暴露的端口。主动就是扫端口、 fingerprint 指纹识别、WAF 探测。这阶段不攻击,只收集。但信息量决定了后面测试的深度。
产出物:《资产清单》(域名、IP、端口、服务版本)、《攻击面地图》、《情报收集报告》
目标:根据收集到的信息,判断"最可能被打穿的路径是什么"。
不是所有漏洞都值得挖。这个阶段要做的是给资产排优先级。比如一个内网管理后台比一个公开的静态页面值钱多了。常用的方法有 STRIDE 模型或者简单的风险矩阵。
产出物:《威胁建模报告》、《测试优先级排序表》
目标:找出目标系统里确实存在的漏洞。
这是技术含量最高的阶段之一。手段包括:自动化扫描(Nessus、AWVS、Burp Scanner)、手动代码审计、配置核查、业务逻辑分析。注意,自动化扫描只能发现六成左右的问题,剩下的靠人手。尤其是业务逻辑漏洞——比如越权访问、支付金额篡改——扫描器基本看不出来。
产出物:《漏洞清单》(含 CVE 编号、CVSS 评分、复现步骤)、《漏洞分类表》(按严重/高危/中危/低危分级)
目标:验证漏洞是不是真的能打穿,能打穿到什么程度。
这才是渗透测试的核心。拿着上一阶段找到的漏洞,实际去 exploit。能拿到 shell 就拿 shell,能绕过认证就绕过认证。但有个铁律:点到为止,不搞破坏。拿到权限就停,不删库不拖数据。
产出物:《漏洞利用记录》(截图、PoC、利用链路)、《获取的权限级别说明》(普通用户/管理员/root)
目标:模拟真实攻击者拿到权限之后会干什么。
比如:能不能横向移动到内网其他机器?能不能提权?敏感数据在哪?能不能维持持久化?这个阶段的价值在于告诉甲方——"你以为攻击者只能看到一个页面,实际上他能摸到整个内网"。
产出物:《横向移动路径图》、《可访问的敏感数据清单》、《权限提升链路说明》
目标:把前面所有东西翻译成甲方能看懂、能落地的东西。
这是整个项目最值钱的产出。一份好的渗透测试报告不是堆漏洞截图,而是要讲清楚:这个漏洞有多严重、怎么复现、怎么修、不修会怎样。
产出物:《渗透测试最终报告》(核心交付物)、《漏洞修复建议清单》(按优先级排好,带具体修复代码示例最好)、《管理层摘要》(给领导看的,一页纸讲清楚风险等级)
每个阶段都有明确的目标和产出,缺一个都不完整。现实中很多"渗透测试"其实只做了第四第五阶段,扫个漏洞就交报告了,那跟自动化扫描没啥区别,价值差很多。如果你是准备自己做或者要验收别人的测试,重点盯 第四到第七阶段 的产出物质量,前面的阶段基本是基础工作,差距不大。
标签;渗透测试、安全测试报告