
مختبر تعليمي مخصص لنظام Windows 11 لدراسة CVE-2025-1974 في ingress-nginx. يوفر محاكاة هجوم آمنة والتحقق من الدفاع مع مجموعة Kubernetes محلية، وتقييم الإصدار، وإنشاء تقارير للدورات الدراسية والعروض التوضيحية.
مستودع تعليمي موجّه لنظام Windows 11 أولًا لدراسة CVE-2025-1974 في مختبر ATTACK + DEFENSE آمن وغير مُسلّح. صُمم المشروع للمقررات الجامعية، والعروض الجماعية، ولقطات الشاشة الجاهزة للتقرير. يؤكد المشروع على التنفيذ النظيف (clean-room)، والتحقق المحلي فقط، ومحاكاة هجوم بأسلوب الفريق الأحمر لا تتحول أبدًا إلى استغلال حقيقي.
يُرمّز هذا المختبر النطاق الرسمي الذي يؤثر فيه 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) حتى اكتمال الترقية.
لا يقوم هذا المستودع عمدًا بتنفيذ أو نقل أو تفعيل أي كود استغلال. بدلًا من ذلك، يوفر محاكي تدفّق هجوم آمن يعرض المراحل التي قد يفكر فيها المدافع:
يتم تمثيل مسار الهجوم فقط من خلال عناصر تعقيم (sanitized fixtures)، وحالة محلية، ومؤشرات مراحل المحاكي. لا يتم تضمين أي حمولات 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"]المسار A: محاكاة الهجوم
يشغّل محاكيًا مناسبًا لالتقاط الشاشات يحاكي سير عمل المهاجم دون تنفيذ أي استغلال.المسار B: التحقق الدفاعي
ينفّذ فحوصات محلية حقيقية على مجموعة (cluster) تجريبية قابلة للتخلص منها ويقيّم حالة الإصدار وحالة التخفيف.Windows 11 أولًا
لكل سير عمل رئيسي غلاف PowerShell وبديل CLI مكافئ بلغة Python 3.11.التقارير
يولّد نصوص Markdown وJSON وCSV ونصوص طرفية (console transcripts) مناسبة للتسليم الأكاديمي والعروض.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/.يُسمح لتدفق التحقق الدفاعي بتنفيذ فحوصات محلية حقيقية:
kind محلية فقط باسم cve-2025-1974-lab.ingress-nginx موجودًا ومحاولة استنتاج الإصدار من صور النشر (deployment images).pwsh ./scripts/cleanup.ps1
يزيل هذا الأمر مجموعة kind القابلة للتخلص منها إذا كانت موجودة ويمسح ملفات التقارير المُولّدة مع الحفاظ على بنية المستودع.
kubectl وحالة المجموعة المحلية.يرجع هذا المشروع نظريًا إلى المستودع العام zulloper/CVE-2025-1974 لمستخدم GitHub @zulloper لأغراض الدراسة التاريخية/السياقية فقط. لم يُنسخ أي كود هجومي إلى هذا المستودع.
شكر وتقدير إلى Nir Ohfeld وRonen Shustin وSagi Tzadik وHillai Ben-Sasson من Wiz للإفصاح المسؤول عن الثغرات، كما ورد في المواد الرسمية الخاصة بـ Kubernetes.
هذا المستودع مختبر تعليمي نظيف ومستقل (clean-room) لنظام Windows 11 ولا يرتبط بـ @zulloper أو Wiz أو Kubernetes أو القائمين على ingress-nginx ولا يحظى بتأييدهم.