
إضافة متصفح تعمل دون اتصال لتحليل تجاوز المصادقة CVE-2026-20127 في Cisco SD-WAN. توفر تصورًا للحزم، واستخراج مؤشرات الاختراق (IOC)، وإرشادات الكشف لمحللي SOC.
إن الـ "CVE-2026-20127 Defensive Companion" هو إضافة متصفح من الدرجة الأولى للمؤسسات، مصممة للاستخبارات الهجومية الاستباقية والتحليل الدفاعي. تغلف هذه الأداة بحثًا تقنيًا موثوقًا حول ثغرة تجاوز المصادقة في متحكم Cisco Catalyst SD-WAN (vSmart). من خلال توفير طبقة استخباراتية غير متصلة بالإنترنت ومحلية بشكل كبير، تمكن مراكز العمليات الأمنية (SOC) والباحثين الدفاعيين من تحليل هياكل الحزم بسرعة، وتتبع تدفقات المصادقة، واستخراج مؤشرات الاختراق (IOCs) فورًا دون تعريض بيانات التحقيق النشطة للشبكات الخارجية.
تعتمد بنية Cisco Catalyst SD-WAN على خدمة vdaemon لإنشاء والحفاظ على اتصالات DTLS لطبقة التحكم بين الأجهزة الطرفية والمتحكم. تستغل الثغرة الأساسية (CVE-2026-20127) فشلًا في التحقق من صحة آلة الحالة أثناء تسلسل المصافحة لـ DTLS، مما يؤثر بشكل صريح على المنافذ المرتبطة عادة بحركة تحكم vSmart (على سبيل المثال، 12346، 52521). تسمح الثغرة للمهاجمين غير المصرح لهم بتجاوز التحقق من شهادة X.509 وتزوير حالة موثقة داخل سجل المتحكم الداخلي.
الهدف الأساسي من هذا المشروع هو تحويل مستودع الاستغلال الخام إلى أصل تعليمي ودفاعي منظم. يهدف البحث إلى تحليل تجاوز المصادقة في vbond_proc_challenge_ack_ack() وتقديمه من خلال مجموعة من التصورات التفاعلية. وهذا يمكّن المتخصصين في الأمن السيبراني من فهم الآليات الدقيقة للثغرة، وتنفيذ منطق كشف قوي، وتطبيق استراتيجيات تخفيف شاملة عبر نشرات SD-WAN للمؤسسات.
تم هيكلة المستودع لفصل بيانات الاستخبارات، وتصور واجهة المستخدم الأساسية، ومنطق البحث الذكي، مع الالتزام بالقيود المعمارية لـ Manifest V3 من Chrome.
src/knowledge): تحتوي على 17 نطاق JSON مجزأة تمثل الاستخبارات المحللة من بحث الاستغلال الأصلي.src/services): تضم محرك المعرفة (KnowledgeEngine) للبرمجة اللغوية العصبية (NLP) غير المتصل، المسؤول عن كشف النية والاسترجاع الدلالي.src/components، src/sidepanel): واجهة مستخدم مبنية على React تعرض تصورات ديناميكية للحزم ولوحة تحكم المحلل.يؤكد التحليل المتعمق أن الثغرة تقع داخل دالة vbond_proc_challenge_ack_ack()، الموجودة على العنوان 0x38AB7 في vdaemon (الإصدار 20.12.5). الخلل الأساسي هو الافتقار التام للتحقق من صحة الخادم من البايت verify_status المقدم داخل جسم الرسالة. عندما يرسل نظير غير موثق حزمة CHALLENGE_ACK_ACK بقيمة غير صفرية لـ verify_status، يثق vdaemon في هذا التأكيد ضمنيًا ويكتب 1 إلى ذاكرة حالة مصادقة النظير *(BYTE*)(a2+70) = 1.
تعمل مصافحة DTLS الشرعية لطبقة التحكم على النحو التالي:
msg_type=8 (CHALLENGE).msg_type=9 (CHALLENGE_ACK)، مزودًا البراهين التشفيرية المطلوبة.msg_type=10 (CHALLENGE_ACK_ACK).يتجاوز تدفق البروتوكول المستغل الخطوة 3 عمدًا. يعترض المهاجم الـ CHALLENGE ويستجيب فورًا بحزمة CHALLENGE_ACK_ACK مزورة (msg_type=10). نظرًا لأن بوابة المصادقة داخل vbond_proc_msg() تستثني msg_type=10 من التصفية المسبقة للمصادقة، تصل الحزمة إلى المعالج الضعيف وتفسد آلة الحالة.
يجب على فرق الأمن البحث بنشاط عن الحالات الشاذة التالية لاكتشاف محاولات الاستغلال النشطة:
control-connection-state-change حيث peer-vmanage-system-ip هو 0.0.0.0، متبوعًا فورًا بانتقال الحالة إلى down في غضون ثوانٍ.vmanage-admin عبر منفذ TCP 830 (NETCONF) مباشرة بعد عدم استقرار DTLS.vdaemon_peer_ssl_snapshot_info يشير إلى أن الشهادات المحلية والبعيدة تختلف اختلافًا كبيرًا بطريقة لا تتوافق مع التزويد القياسي.يجب على المدافعين تنفيذ استراتيجيات المعالجة التالية:
20.12.6.1 أو الأحدث، والذي يفرض التحقق الصارم من آلة الحالة في vbond_proc_challenge_ack_ack().authorized_keys لحساب vmanage-admin.تنفذ الإضافة محرك معرفة مخصصًا غير متصل يقوم بفهرسة 17 نطاقًا محددًا مستخرجًا من المستودع. يعمل المحرك بالكامل محليًا داخل المتصفح، باستخدام أنبوب معالجة لغوية طبيعية (NLP) متعدد المراحل:
الكشف).تعتمد الحل بشكل كبير على بنية موزعة وغير متزامنة عبر Manifest V3:
chrome.storage.local للحفاظ على حالة الإعدادات.@vitejs/plugin-react)تم تحسين الإضافة بشكل كبير للنشر السريع وسير عمل المحللين السلس:
Set<string>) بشكل متزامن عند التحميل، مما يقلل وقت تأخير البحث في وقت التشغيل إلى نطاقات دون الميلي ثانية.background.js عن حزمة واجهة المستخدم الثقيلة sidepanel.js للحفاظ على مساحة الذاكرة.الأمان وخصوصية البيانات هما أساس هذه الأداة:
manifest.json فقط الأذونات الضرورية بدقة (activeTab، sidePanel، storage).unsafe-eval وتنفيذ البرامج النصية عن بعد.npm install
npm run build
npm run dev
dist/ المحسن.chrome://extensions/ في متصفحك.dist/.ext/
├── public/ # الأصول الثابتة و manifest.json
├── src/
│ ├── background/ # نصوص مشغل الخلفية
│ ├── components/ # مكونات React (ProtocolViewer، PacketExplorer، Chat)
│ ├── content/ # نصوص فحص DOM وتسليط الضوء على التهديدات النشطة
│ ├── knowledge/ # 17 نطاق JSON مجزأة تحتوي على بيانات CVE المستخرجة
│ ├── options/ # إعدادات الإضافة ومنطق مولد التقارير
│ ├── services/ # تنفيذ KnowledgeEngine للبرمجة اللغوية العصبية غير المتصل
│ └── sidepanel/ # مساحة العمل الأساسية المستمرة للمحللين
├── package.json # تبعيات Node.js وتعريفات النصوص البرمجية
├── tsconfig.json # تكوين TypeScript للكتابة الصارمة
└── vite.config.ts # تكوين بناء Vite