Windows 11 优先的教育仓库,用于在安全的、非武器化的 ATTACK + DEFENSE 实验室环境中研究 CVE-2025-1974。该项目专为大学课程、团队演示和可生成报告的截图而设计。它强调清洁室实现、仅本地验证,以及永不成为真正漏洞利用的红队式攻击仿真。
该实验室编码了官方基线,即 CVE-2025-1974 影响 ingress-nginx,受影响版本为 < 1.11.0、1.11.0 到 1.11.4 以及 1.12.0;修复版本为 1.11.5、1.12.1 及更高版本。它还反映了官方临时缓解措施,即在升级完成前禁用 Validating Admission Controller。
该仓库故意不实现、移植或操作化漏洞利用代码。相反,它提供了一个安全的攻击流仿真器,展示防御者需要推理的阶段:
攻击路径仅通过清洗后的测试夹具、本地状态和仿真阶段标记来表示。不包含任何恶意的 AdmissionReview 载荷、代码执行载荷、shell、配置注入或漏洞利用传递机制。
flowchart LR
A["PowerShell 包装器<br/>Windows 11 优先的 UX"] --> B["Python CLI<br/>app.main"]
B --> C["预检<br/>Windows、Docker、kubectl、kind、Python 3.11"]
B --> D["集群评估<br/>kind + kubectl 在本地主机上"]
B --> E["攻击仿真器<br/>仅清洗后的测试夹具"]
B --> F["缓解措施检查<br/>版本 + admission 状态"]
B --> G["检测<br/>实验室特定的模拟指标"]
E --> H["reports/attack_simulation.log"]
F --> I["reports/defense_scan.json"]
G --> J["reports/timeline.csv + timeline.json"]
H --> K["Markdown 报告编写器"]
I --> K
J --> K
K --> L["reports/latest-report.md"]Track A: 攻击仿真
运行一个友好的截图仿真器,其行为类似于攻击者工作流,但不执行漏洞利用。Track B: 防御验证
针对一次性的本地实验室集群执行真实的本地检查,评估版本和缓解措施状态。Windows 11 优先
每个主要工作流都有 PowerShell 包装器和 Python 3.11 CLI 等效实现。报告生成
生成适用于课堂提交和演示的 Markdown、JSON、CSV 和控制台记录。kubectlkindpwsh ./scripts/setup-win11.ps1
pwsh ./scripts/start-lab.ps1
pwsh ./scripts/run-defend-scan.ps1
pwsh ./scripts/run-attack-sim.ps1
pwsh ./scripts/generate-report.ps1
python -m app.main preflight
python -m app.main defend-scan
python -m app.main attack-sim
python -m app.main report
python -m app.main cleanup
pwsh ./scripts/setup-win11.ps1
pwsh ./scripts/start-lab.ps1
pwsh ./scripts/run-attack-sim.ps1
pwsh ./scripts/run-defend-scan.ps1
pwsh ./scripts/generate-report.ps1
pwsh ./scripts/cleanup.ps1
============================================================
CVE-2025-1974 Windows 11 攻击 + 防御实验室
============================================================
[PRECHECK] Windows 11 假设条件 .............. 通过
[PRECHECK] Docker Desktop ...................... 通过
[PRECHECK] kubectl ............................. 通过
[PRECHECK] kind ................................ 通过
[PRECHECK] Python 3.11 ......................... 通过
[SCAN] 集群名称: cve-2025-1974-lab
[SCAN] 检测到 ingress-nginx .................. 是
[SCAN] 控制器版本 .............................. 1.11.4
[SCAN] Validating Admission Controller ......... 已启用
[SCAN] 版本评估 ................................ 受影响
[SCAN] 风险评估摘要 ............................ 升级到 1.11.5+ 或 1.12.1+,并在升级前禁用 admission。
[SIM] ATTACK_PATH_IDENTIFIED
[SIM] VALIDATION_PATH_REACHED
[SIM] DEFENSE_MISSING
[SIM] SIMULATED_RISK_CONFIRMED
[REPORT] Markdown 报告已写入 reports/latest-report.md
攻击仿真流程故意非武器化:
ingress-nginx 是否存在。ATTACK_PATH_IDENTIFIED 和 SIMULATED_RISK_CONFIRMED。MITIGATION_PRESENT、ATTACK_PATH_BLOCKED 和 UPGRADE_REQUIRED。reports/ 下。防御验证流程允许执行真实的本地检查:
cve-2025-1974-lab 的仅本地 kind 集群。ingress-nginx 是否存在,并尝试从部署镜像推断版本。pwsh ./scripts/cleanup.ps1
这将移除一次性的 kind 集群(如果存在)并清除生成的报告产物,同时保留仓库结构。
kubectl 和本地集群状态所提供的可见性。本项目在概念上引用了 GitHub 用户 @zulloper 的公开仓库 zulloper/CVE-2025-1974,仅供历史/背景研究使用。未从此仓库复制任何攻击代码。
感谢 Wiz 的 Nir Ohfeld、Ronen Shustin、Sagi Tzadik 和 Hillai Ben-Sasson 负责任地披露了这些漏洞,这一点已在官方 Kubernetes 材料中得到认可。
本仓库是一个独立的清洁室教育实验室,专为 Windows 11 设计,与 @zulloper、Wiz、Kubernetes 或 ingress-nginx 维护者无关联且未经其认可。