关于 cross-wave-delta-analysis
cross-wave-delta-analysis 是用于比较同一目标集多轮侦察结果的安全分析技能,面向执行重复安全评估的团队。它将发现归类为新增、回退、持续、变更或反转,并强调以相同方法复测。
主要功能
- 01比较多轮侦察结果
- 02识别新增与回退发现
- 03追踪持续漏洞和配置变化
- 04标记反转的安全措施
- 05复测差异并规避误判
适用场景
- 01确认漏洞是否已修复
- 02发现新增端口、子域名或端点
- 03在提交报告前复核发现状态
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ uphiago/ recon-skills --skill cross-wave-delta-analysis安装后在 Claude Code 中输入/cross-wave-delta-analysis确认已加载。
详细介绍
跨波次差异分析技能
用于比较同一目标集在多个侦察波次中的发现的方法。可检测新增发现、回归(之前开放、现在被阻止)、持续存在的漏洞,以及随时间发生的变化。该方法总结自 7 个深度目标的 9 个波次,期间发现了此前遗漏的 CORS 问题、新开放的端口和基础设施漂移。
适用场景
- 对同一目标集重复执行侦察(第 N+1 波接续第 N 波)。
- 想知道某个漏洞自上次波次以来是否已修补。
- 想知道是否出现了新的攻击面(新端口、新子域、新端点)。
- 完成一轮深度侦察后,在下一轮开始前生成差异报告。
- 报告前确认发现仍然有效(没有回归)。
前提条件
- 先前的评估输出位于
${OUTPUT_DIR:-./output}/baseline/下。 - 当前的评估输出位于
${OUTPUT_DIR:-./output}/current/下。 - 每个目标均有结构化发现(至少包括:端口、CORS 状态、WP 用户、XMLRPC 状态、敏感路径)。
运行方法
# Produce a delta report comparing WaveN to WaveN+1
# Read wave outputs, compare per-target, classify findings
快速参考
差异类别
| 类别 | 标签 | 含义 | 示例 |
|---|---|---|---|
| 新增 | ++ | 之前任何波次中都不存在的发现 | Port 3306 (MySQL) now OPEN |
| 回归 | -- | 之前可访问、现在被阻止的服务 | XMLRPC 200 -> 405 (hardened) |
| 持续存在 | == | 所有波次中均未改变的漏洞 | CORS still reflecting since wave6 |
| 变化 | ~ | 配置发生变化,但并非回归 | WP users: 10 in wave7, 9 in wave9 |
| 反转 | -> | 后来被撤销的回归(缓解措施已移除) | XMLRPC 405 (W9) -> 200 active (W10) |
反转——特殊类别
反转发现是指后来恢复到原始易受攻击状态的回归。这种情况可能发生在以下场景:
- WAF 规则曾临时应用,随后被移除(在 GoDaddy/Cloudflare 共享主机上较常见)
- 插件安全更新被回滚
- 基础设施重新部署时未保留加固措施
将反转视为需采取行动的问题:安全团队要么并不知情,要么并不在意。这些目标优先级较高,因为其防护措施并不可靠。
每个目标需比较的字段
| 字段 | 检查方法 | 差异的含义 |
|---|---|---|
| XMLRPC 状态 | POST /xmlrpc.php 的 HTTP 状态码 | 200 -> 405 = 回归(已加固) |
| CORS 标头 | /wp/v2/users 上的 ACAO + ACAC | 反射 -> 无标头 = 回归 |
| WP 用户 | 从 /wp/v2/users 获取的数量 | 数量变化 = 变化 |
| 开放端口 | nmap 或 naabu 输出 | 新端口 = 新增(攻击面扩大) |
| 子域 | subfinder 输出 | 新子域 = 新增 |
| 敏感路径 | .env、info.php 等的 HTTP 状态码 | 之前为 200 -> 403 = 回归 |
流程
步骤 1——收集两个波次的数据
WAVE_OLD="${OUTPUT_DIR:-./output}/baseline"
WAVE_NEW="${OUTPUT_DIR:-./output}/current"
echo "=== Comparing $WAVE_OLD vs $WAVE_NEW ==="
步骤 2——生成逐目标差异表
对于两个波次中均出现的每个目标,比较 XMLRPC 状态、CORS 标头、开放端口、WP 用户和子域。将发现标记为新增(之前的波次中没有)、回归(之前正常工作、现在被阻止)、持续存在(未改变)或变化(有所不同但未被阻止)。
步骤 3——分类并标记关键差异
标记关键差异:新开放的 3306 端口(MySQL)、新的 CORS 凭证反射、新出现的 WP 安装页面,以及名称包含 admin/staging 模式的新子域。
注意事项
- 误判为回归。 403 可能是速率限制导致的,而非已修补。请使用不同的 IP/延迟重试 3 次。
- 误判为持续存在。 端点返回 200 仍可能处于活动状态,但底层漏洞(例如 multicall)可能已被禁用。
- 时机很重要。 各波次必须使用相同的方法,否则差异毫无意义。
- 不要把“未记录”误认为“不存在”。 某项发现可能早已存在,只是被遗漏了。
验证
- 每项差异都必须能用完全相同的命令在两轮输出中复现。
- 应立即重新测试 NEW 发现——它们可能是暂时性的。
- 在 3 轮或更多轮中持续存在的发现最可靠(没有安全团队,也没有修补节奏)。
相关技能
attack-patterns-reference— 将发现匹配到模式 ID(P-01 至 P-25)recon-playbook— 生成轮次数据的 4 阶段流程cross-attack-chains— 将 NEW 发现串联起来,造成严重影响cors-credential-wordpress— 验证 CORS 发现的分类xmlrpc-exploitation— 验证 XMLRPC 回归状态
评论
支持 Markdown