mcpField
C
cross-wave-delta-analysis

cross-wave-delta-analysis

github.com/uphiago安全1.3k44 次安装8 周前更新
代码仓库

关于 cross-wave-delta-analysis

cross-wave-delta-analysis 是用于比较同一目标集多轮侦察结果的安全分析技能,面向执行重复安全评估的团队。它将发现归类为新增、回退、持续、变更或反转,并强调以相同方法复测。

主要功能

  1. 01比较多轮侦察结果
  2. 02识别新增与回退发现
  3. 03追踪持续漏洞和配置变化
  4. 04标记反转的安全措施
  5. 05复测差异并规避误判

适用场景

  1. 01确认漏洞是否已修复
  2. 02发现新增端口、子域名或端点
  3. 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