
Windows 11 우선 교육용 랩으로, ingress-nginx의 CVE-2025-1974를 학습하기 위해 설계되었습니다. 로컬 Kubernetes 클러스터를 통해 안전한 공격 에뮬레이션과 방어 검증, 버전 평가, 그리고 과제 및 데모를 위한 보고서 생성을 제공합니다.
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 페이로드, 코드 실행 페이로드, 셸, 설정 인젝션, 또는 익스플로잇 전달 메커니즘은 포함되지 않습니다.
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: Attack Emulation
실제 익스플로잇 없이 공격자 워크플로처럼 동작하는 스크린샷 친화적 시뮬레이터를 실행합니다.Track B: Defense Validation
일회용 연구실 클러스터에 대해 실제 로컬 검사를 수행하고 버전 및 완화 상태를 평가합니다.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 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
공격 에뮬레이션 흐름은 의도적으로 무기화되지 않았습니다:
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 유지관리자와 제휴하거나 보증하지 않습니다.