标准渗透测试流程与 Kali 工具链对应关系
为什么要有标准流程
渗透测试不是胡乱扫描一通——正规项目都有明确的阶段划分和交付规范。Kali Linux 的工具设计恰好对应了每个阶段的任务需求,理解流程才能正确选工具。
六阶段总览
授权签署 → 侦察 → 漏洞评估 → 漏洞利用 → 后渗透 → 报告交付
每个阶段都有明确的输入(上一阶段的输出)、任务和产出物。下面逐阶段说明对应的 Kali 工具。
阶段一:授权签署
在任何技术操作之前,必须先拿到书面授权。授权内容至少包括:
- 测试范围(IP 段、域名、应用列表)
- 测试时间窗口
- 允许的测试类型(黑盒/灰盒/白盒、是否允许 DoS)
- 紧急联系人
没有书面授权,再专业的渗透测试也是违法行为。
阶段二:侦察阶段(Reconnaissance)
目标:尽可能多地收集目标公开信息,建立目标网络地图。不直接碰目标主机。
| 子任务 | Kali 工具 | 产出 |
|---|---|---|
| 域名/子域名枚举 | Amass, Recon-ng, theHarvester, dnsrecon | 子域名列表 |
| IP 归属查询 | whois, ip2bin, Recon-ng | IP 段归属 |
| 邮箱/社交账号抓取 | Recon-ng, theHarvester, sherlock | 员工邮箱、LinkedIn |
| 端口扫描 | Nmap, Masscan | 开放端口列表 |
| 服务版本识别 | Nmap -sV | 服务/版本号 |
| 被动情报聚合 | Maltego, Censys/FOFA | 目标基础设施全貌 |
注意:侦察阶段的"被动"是指不主动向目标主机发送攻击流量。搜索引擎、Shodan、Censys、WHOIS 等都是公开数据源。
阶段三:漏洞评估(Vulnerability Assessment)
目标:根据侦察结果,对目标的开放服务做漏洞扫描,找出可利用的已知漏洞。
| 子任务 | Kali 工具 | 产出 |
|---|---|---|
| 漏洞扫描 | OpenVAS, Nessus (插件) | 漏洞列表(含 CVE 编号) |
| Web 漏洞扫描 | Nikto, WPScan, Nuclei | Web 漏洞详情 |
| 手动 Web 测试 | Burp Suite | Web 应用级漏洞 |
| 内网漏洞识别 | Nmap --script vuln | 特定端口漏洞(如 MS17-010) |
| 漏洞验证 | searchsploit | Exploit-DB 匹配确认 |
阶段四:漏洞利用(Exploitation)
目标:从漏洞评估中选出可利用的漏洞,尝试获取目标主机的访问权限。
| 子任务 | Kali 工具 | 产出 |
|---|---|---|
| 选择利用代码 | searchsploit, Metasploit search | 可用 exploit |
| 执行利用 | Metasploit, BeEF | 目标主机 shell |
| 绕过杀软 | Veil-Evasion, shikata-ga-nai | 免杀 payload |
| 注入测试 | sqlmap, XSSer, BeEF | Web 应用级利用 |
| 密码破解 | Hydra, Hashcat | 登录凭据 |
阶段五:后渗透(Post-Exploitation)
目标:在获取初始访问后,扩大权限、横向移动、收集情报。这是展示攻击者真正能力的阶段。
| 子任务 | Kali 工具 | 产出 |
|---|---|---|
| 权限提升 | Metasploit post modules, PowerUp | 高权限 access |
| 凭证收集 | Mimikatz (hashdump), LaZagne | 用户密码哈希/明文 |
| 内网横向 | Metasploit autoroute, Empire, Cobalt Strike(非 Kali) | 多主机控制 |
| 维持访问 | Metasploit persistence, Cobalt Strike beacon | 后门持久化 |
| 情报收集 | Mimikatz, NetExec, Volatility | 内网全貌、域控信息 |
| 痕迹清理 | clearev, PowerShell 清除日志 | (可选,红队不清理) |
阶段六:报告交付(Reporting)
目标:将所有发现整理成专业的渗透测试报告,包含漏洞详情、风险评级、修复建议。
| 子任务 | 工具 | 产出 |
|---|---|---|
| 数据汇总 | Recon-ng 报告 + OpenVAS 报告 | 漏洞清单 |
| 风险评级 | CVSS 计算器 | 每个漏洞的风险等级 |
| 证据保存 | Volatility(内存取证)、pcap 文件 | 攻击链证据 |
| 报告撰写 | 专业模板(OSCP/PTES 标准) | 完整报告文档 |
实战中的工具组合
真实渗透测试不会按阶段严格分割。比如:
- 侦察阶段扫到目标开了 445 端口 → 直接跑到 Metasploit 验证永恒之蓝 → 成功拿到 shell → 立即启动后渗透收集域控信息
- 但报告阶段必须把所有操作按阶段归类整理