收官篇:把前面学的所有东西串成一次完整的渗透链路——从信息收集一路到 Getshell,加上 AWVS、AppScan、Xray 这几个扫描器我自己的使用体验。
核心知识点
1. 渗透测试完整流程回顾
- 签订合同:明确测试范围和授权手段(哪些 URL/IP 能测、哪些业务是禁区、是否自动化)。
- 信息收集:尽可能多搜集目标信息,收集越多发现漏洞概率越大。注意会留下痕迹。
- 漏洞分析与扫描:基于信息分析风险点,重点看用户可控带回显的参数;使用自动化扫描(须获授权)。
- 漏洞验证:对扫描结果人工验证,排除误报。
- 漏洞利用与后渗透:利用确认漏洞获取权限;探索横向移动、提权(普通用户→root/admin)、权限维持(留后门)。
- 编写报告:总结测试过程、发现漏洞及影响范围。
2. 命令执行与代码执行(复习)
- 都属于 RCE(远程代码执行)。
- 命令执行:针对系统命令(如
rm -rf),函数如 system/exec/shell_exec,操作系统层面。 - 代码执行:执行编程语言代码片段(如 PHP eval),语言解释器层面。
- 简单区分:命令执行是操作系统层面,代码执行是语言解释器层面。
- eval、assert、call_user_func 是难点(详见命令执行那篇)。
3. 漏洞扫描器实战
AWVS(Acunetix)自动扫描器:
- 特点:本地部署、浏览器访问(
https://localhost:3443/)。 - 部署前先关杀毒软件(含大量攻击测试代码易被误杀)、确认 3443 端口未被占用。
- 安装:设置 Email+Password(管理员账号,密码需大小写+数字+特殊符号,如
Admin@123456);端口默认 3443。 - 首次访问证书警告:点”高级 → 继续前往 localhost”。
- 四大功能区:Targets(目标)、Scans(扫描任务)、Vulnerabilities(漏洞库)、Reports(报告)。
- 添加目标:Targets → + Add Target,Address 带 http/https 协议头(如
http://127.0.0.1/dvwa/)。 - 扫描策略(Scan Profile):
- Full Scan(全量扫描):新手建议,检查所有规则,最彻底最耗时
- High Risk(高危)、High/Medium Risk(高中危)
- Cross-site Scripting(XSS 专项)、SQL Injection(SQL 专项)
- Site Login(网站登录):DVWA 这种需要登录的站点,用
Use pre-recorded login sequence或Auto-Login配置账号密码,否则扫描器只在门外转悠。复杂登录可”录制登录序列脚本”。 - Scan Speed:本地弱环境用 Moderate/Slow,别把靶机扫崩;快速+无限制可能造成 DoS。
- 漏洞分级:🔴 High(高危:SQL 注入/命令执行)、🟡 Medium(中危:XSS/目录遍历)、🔵 Low(低危:信息泄露)、🟢 Info(信息)。
- 点开高危漏洞看三样:漏洞描述、HTTP Request(攻击载荷 Payload)、Remediation(修复建议)。
- 报告选择:Developer Report(含详细修复建议)适合派发给开发;合规报告有 OWASP Top 10 2021、PCI DSS、ISO 27001 等。一句话:汇报工作选”执行摘要”,指导修 Bug 选”开发人员”,常规对外测评选”OWASP Top 10 2021”。
- 扫描结果必须人工复核:存在误报,验证后对导出的文档二次修改才能交付;扫描行为显眼,不管控 IP 狂发请求容易被封禁网段甚至追责,未授权扫描违法。
AppScan(HCL AppScan Standard):
- 桌面客户端软件(Windows 专属),需要 .NET Framework。
- 流程:文件 → 新建 → 常规 Web 应用程序扫描 → 起始 URL → 登录管理(记录登录/会话检测)→ 测试策略(默认/仅应用程序/侵入性)→ 启动扫描。
- 两阶段:探索阶段(爬虫抓取目录和参数)+ 测试阶段(发送恶意 Payload 观察响应)。
- 结果分级 High/Medium/Low/Informational;看”请求/响应”判断误报;导出 PDF/Word 报告。
- 避坑:扫描文件体积大,保存到 D/E 盘;调整线程数控制速度。
Xray(长亭科技):Web 漏洞扫描器,支持被动代理模式(挂 Burp 联动)和主动爬虫,社区版免费,是我平时用得最多的一款。
系统漏洞扫描:多为收费商业软件,操作逻辑与 AWVS 类似(新建任务、目标 IP、参数后扫描)。
4. Cobalt Strike 上线演示
- CS 服务端(Team Server)在 Ubuntu 上部署:装 JDK、解压 CS4.9、给 team server 加执行权限、启动并指定 IP。
- 客户端连接:IP + 端口 + 密码三要素。
- 创建监听(Listener)→ 生成攻击载荷(Windows exe 木马)→ 目标双击 exe 后上线 → 终端主机列表出现目标设备即连接成功。
- 木马需免杀处理才能绕过杀软(免杀属于进阶内容,之后单独整理)。
5. 行业认知(渗透测试岗位)
- 岗位核心职责:渗透测试与漏洞挖掘、运维与防护体系建设、架构设计与风险评估、应急响应与监控。
- 能力要求:计算机网络基础(TCP/IP、HTTP)、Linux 与 Docker、至少一门编程语言(Python/PHP/Java)、实战经验、沟通与文档能力。
- 行业现状:传统漏洞挖掘(如 SQL 注入)逐渐饱和、自动化程度高;企业/代码审计/开发方向需求增长;渗透岗位薪资两极分化。
- 我的学习建议:Linux + Docker 是基石;动手实战 > 看视频;精通 PHP 与通信协议(HTTP/HTTPS)→ 学 Docker → 回归底层原理。
实操步骤
# AWVS 使用流程
# 1. 关杀软 → 访问 https://localhost:3443/
# 2. Targets → + Add Target → http://127.0.0.1/dvwa/
# 3. Site Login 配置 admin/password
# 4. Scan → Full Scan → Create Scan
# 5. Vulnerabilities 查看结果 → Reports 导出 Developer Report
# CS 上线(综合演示)
./teamserver 192.168.1.100 password123
# 客户端连接 → 创建 Listener → 生成 exe → 目标运行 → 上线
常见错误与排查
- AWVS 起不来 → 杀毒软件没关干净(用 Geek 卸载残留后重装);3443 端口被占用。
- AWVS 访问证书警告 → 点”高级 → 继续前往”。
- 扫描登录站点无结果 → 没配 Site Login。
- 扫描把本地环境扫崩 → 调低 Scan Speed。
- 扫描报告直接交付 → 必须人工验证误报后再修改。