
Laboratorio educativo de Windows 11 para estudiar CVE-2025-1974 en ingress-nginx. Proporciona emulación segura de ataques y validación de defensas con un clúster local de Kubernetes, evaluación de versiones y generación de informes para cursos y demostraciones.
Repositorio educativo centrado en Windows 11 para estudiar CVE-2025-1974 en un laboratorio seguro y no armamentizado de ATAQUE + DEFENSA. El proyecto está diseñado para trabajos universitarios, demostraciones en equipo y capturas de pantalla listas para informes. Hace hincapié en la implementación en entorno limpio, la validación solo local y una emulación de ataque estilo red team que nunca se convierte en un exploit real.
Este laboratorio codifica la línea base oficial de que CVE-2025-1974 afecta a ingress-nginx, con versiones afectadas < 1.11.0, 1.11.0 hasta 1.11.4 y 1.12.0; versiones corregidas 1.11.5, 1.12.1 y versiones posteriores. También refleja la mitigación temporal oficial de deshabilitar el Validating Admission Controller hasta que se complete una actualización.
Este repositorio intencionalmente no implementa, porta ni operativiza código de exploit. En su lugar, proporciona un emulador seguro de flujo de ataque que demuestra las etapas sobre las que un defensor razonaría:
La ruta de ataque se representa únicamente mediante fixtures saneados, estado local y marcadores de etapa del simulador. No se incluyen payloads maliciosos de AdmissionReview, payloads de ejecución de código, shells, inyección de configuración ni mecanismos de entrega de exploits.
flowchart LR
A["PowerShell Wrappers<br/>Windows 11-first UX"] --> B["Python CLI<br/>app.main"]
B --> C["Preflight Checks<br/>Windows, Docker, kubectl, kind, Python 3.11"]
B --> D["Cluster Assessment<br/>kind + kubectl on localhost"]
B --> E["Attack Simulator<br/>sanitized fixtures only"]
B --> F["Mitigation Checks<br/>version + admission state"]
B --> G["Detections<br/>lab-specific simulated indicators"]
E --> H["reports/attack_simulation.log"]
F --> I["reports/defense_scan.json"]
G --> J["reports/timeline.csv + timeline.json"]
H --> K["Markdown Report Writer"]
I --> K
J --> K
K --> L["reports/latest-report.md"]
Track A: Emulación de ataque
Ejecuta un simulador apto para capturas de pantalla que se comporta como un flujo de trabajo de atacante sin realizar explotación.Track B: Validación de defensa
Realiza comprobaciones locales reales contra un clúster de laboratorio desechable y evalúa la postura de versión y mitigación.Windows 11 primero
Cada flujo de trabajo principal tiene un wrapper de PowerShell y un equivalente CLI de Python 3.11.Informes
Genera transcripciones en Markdown, JSON, CSV y consola adecuadas para la entrega de trabajos de clase y demostraciones.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 Attack + Defense Lab
============================================================
[PRECHECK] Windows 11 assumptions .............. PASS
[PRECHECK] Docker Desktop ...................... PASS
[PRECHECK] kubectl ............................. PASS
[PRECHECK] kind ................................ PASS
[PRECHECK] Python 3.11 ......................... PASS
[SCAN] Cluster name: cve-2025-1974-lab
[SCAN] ingress-nginx detected .................. YES
[SCAN] Controller version ...................... 1.11.4
[SCAN] Validating Admission Controller ......... ENABLED
[SCAN] Version assessment ...................... AFFECTED
[SCAN] Risk summary ............................ Upgrade to 1.11.5+ or 1.12.1+ and disable admission until upgraded.
[SIM] ATTACK_PATH_IDENTIFIED
[SIM] VALIDATION_PATH_REACHED
[SIM] DEFENSE_MISSING
[SIM] SIMULATED_RISK_CONFIRMED
[REPORT] Markdown report written to reports/latest-report.md
El flujo de emulación de ataque es intencionalmente no armamentizado:
ingress-nginx parece estar presente.ATTACK_PATH_IDENTIFIED y SIMULATED_RISK_CONFIRMED.MITIGATION_PRESENT, ATTACK_PATH_BLOCKED y UPGRADE_REQUIRED en su lugar.reports/.Al flujo de validación de defensa se le permite realizar comprobaciones locales reales:
kind solo local llamado cve-2025-1974-lab.ingress-nginx está presente e intentar inferir la versión a partir de las imágenes de despliegue.pwsh ./scripts/cleanup.ps1
Esto elimina el clúster kind desechable si está presente y borra los artefactos de informes generados, preservando la estructura del repositorio.
kubectl y el estado del clúster local.Este proyecto hace referencia conceptual al repositorio público zulloper/CVE-2025-1974 del usuario de GitHub @zulloper solo para estudio histórico/contextual. No se ha copiado ningún código ofensivo en este repositorio.
Agradecimientos a Nir Ohfeld, Ronen Shustin, Sagi Tzadik y Hillai Ben-Sasson de Wiz por divulgar responsablemente las vulnerabilidades, como se reconoce en los materiales oficiales de Kubernetes.
Este repositorio es un laboratorio educativo independiente en entorno limpio para Windows 11 y no está afiliado ni respaldado por @zulloper, Wiz, Kubernetes ni los mantenedores de ingress-nginx.