用途
渗透测试效率规则用于约束渗透测试过程中的行为,防止盲目枚举、工具阻塞等低效行为,确保在有限时间内最大化漏洞发现数量。当开始渗透测试、发现扫描工具运行时间过长、陷入盲目爆破循环,或需要决策下一步攻击方向时使用。每轮渗透开始前建议阅读。
主要能力
该规则以三条核心规则的形式给出效率约束:
规则 1:禁止盲目手动枚举
触发场景:用 curl 逐个测试路径(如 /upload、/admin/upload、/bank/upload 等)。
规则要求:对同一类型路径(如文件上传端点),手动 curl 最多尝试 3 个最可能的路径;3 次 404 后立即停止手动枚举,改用工具批量扫描。示例命令:
# ✅ 用 gobuster/dirsearch 一次扫完
gobuster dir -u http://target -w /usr/share/wordlists/dirb/common.txt -q -t 20 --timeout 10s 2>&1 | head -50
规则明确:绝不逐个 HEAD 请求 20+ 个猜测路径,这是浪费时间。
规则 2:长时间工具必须加 timeout
触发场景:运行 sqlmap、nikto、dirsearch 等扫描工具。
规则要求:所有扫描工具必须用 timeout 包裹,最长 8 分钟;必须用 tee 保留输出,超时后检查已有结果。示例:
# ✅ 正确
timeout 480 sqlmap -u 'http://target/page?id=1' --batch --level 2 --risk 2 2>&1 | tee /tmp/sqlmap.log
# 超时后
tail -80 /tmp/sqlmap.log
规则明确:禁止 sleep N && tail 轮询等待,浪费轮次时间。
规则 3:无果时快速切换方向
触发场景:连续多次尝试同一类漏洞未果。
规则要求:同一端点加同一漏洞类型,5 个不同 payload 无果后切换方向;切换前用 evidence_save 记录已测试内容,避免下一轮重复;优先切换到未测试的漏洞类型,而非同一类型的更多变体。
使用方式
该规则以行为准则形式提供,在渗透测试开始前阅读并遵循。执行扫描时按规则使用 timeout 包裹工具命令并用 tee 保留日志,手动测试时限制尝试次数,无果时及时切换方向并记录已测试内容。
适用场景
适用于渗透测试全流程,尤其是开始渗透测试、扫描工具运行时间过长、陷入盲目爆破循环、需要决策下一步攻击方向等场景。
效率优先级
规则给出行为效率对照:
| 行为 | 效率 | 说明 |
|---|---|---|
| 用工具批量扫描 | ⭐⭐⭐ | gobuster/sqlmap/nikto 一次覆盖大量路径 |
| 针对性手动测试 | ⭐⭐ | 基于分析结果精确测试 3-5 个高概率点 |
| 盲目手动枚举 | ⛔ | 逐个 curl 猜测路径,效率极低 |
限制
资料未提供该规则的安装方式、依赖环境、支持平台、收费模式或与其他工具的集成说明,暂未提供。