
मिक्रोट्रिक शोषण (CVE-2026-67276) के लिए परीक्षण उपकरण
MikroTik RouterOS (CVE-2026-67276) में SSH सार्वजनिक कुंजी प्रमाणीकरण बाईपास भेद्यता का पता लगाने के लिए डिज़ाइन किया गया एक स्वचालित व्यवहारिक सत्यापनकर्ता।
यह स्क्रिप्ट जाँचती है कि क्या SSH सेवा में अपूर्ण-सत्यापन दोष के कारण प्रमाणीकरण संभव है, जो केवल लक्षित सार्वजनिक कुंजी के मापांक से मेल खाने वाले जाली हस्ताक्षर का उपयोग करके हैंडशेक स्थापित करता है।
CVE-2026-67276 RouterOS SSH डेमन हैंडलर के भीतर अपूर्ण RSA सार्वजनिक-कुंजी सत्यापन से उत्पन्न होती है। क्लाइंट के सार्वजनिक कुंजी प्रमाणीकरण अनुरोध को संसाधित करते समय, प्रभावित संस्करण केवल कुंजी प्रकार और RSA सार्वजनिक मापांक ($n$) का मिलान करते हैं, सार्वजनिक घातांक ($e$) के सत्यापन को छोड़ देते हैं।
एक ऑपरेटर जिसके पास लक्षित उपयोगकर्ता की कॉन्फ़िगर की गई अधिकृत सार्वजनिक कुंजी है, वह लॉगिन पेलोड जाली बना सकता है। एक अस्थायी कुंजी ब्लॉब प्रस्तुत करके जहाँ घातांक को $1$ ($e=1$) पर सेट किया गया है, साथ ही वैध अधिकृत मापांक के साथ, सत्यापनकर्ता द्वारा अपेक्षित सटीक संरचना से मेल खाने वाला गणितीय रूप से पूर्वानुमानित हस्ताक्षर पारित किया जा सकता है। यह संबंधित निजी कुंजी के बिना या उसकी आवश्यकता के बिना प्रमाणीकरण को पूरी तरह से बाईपास कर देता है।
ssh-rsa OpenSSH सार्वजनिक कुंजी फ़ाइल की स्थानीय प्रति से मापांक ($n$) निकालती है।ssh-rsa, rsa-sha2-256, या rsa-sha2-512) के लिए स्वचालित रूप से समायोजित होता है।सत्यापनकर्ता को कस्टम SSH संदेश निर्माण के लिए Python 3 और paramiko लाइब्रेरी की आवश्यकता होती है।
pip install paramiko
python3 ssh_modulus_forge_check.py -H <TARGET_IP> -u <USERNAME> -k <PATH_TO_AUTHORIZED_PUBLIC_KEY>
| फ़्लैग | विवरण | डिफ़ॉल्ट |
|---|---|---|
-H, --host | लक्ष्य होस्ट IP पता या होस्टनाम। | आवश्यक |
-p, --port | लक्ष्य SSH पोर्ट नंबर। | 22 |
-u, --user | सत्यापित करने के लिए लक्ष्य उपयोगकर्ता नाम। | आवश्यक |
-k, --pubkey | लक्ष्य खाते से बंधी वैध .pub फ़ाइल का पथ। | आवश्यक |
--sig-alg | हस्ताक्षर प्रकार को बलपूर्वक सेट करें (ssh-rsa, rsa-sha2-256, rsa-sha2-512)। | auto |
--exec | सफलता पर पहुँच-प्रमाण के रूप में निष्पादित करने के लिए दूरस्थ कमांड। | None |
--timeout | नेटवर्क और प्रमाणीकरण कनेक्शन टाइमआउट सेकंड में। | 10 |
python3 ssh_modulus_forge_check.py -H 192.168.88.1 -u admin -k id_rsa.pub --exec "/system resource print"
कमजोर उपकरणों की सुरक्षा के लिए, सुनिश्चित करें कि RouterOS इंस्टॉलेशन तुरंत फिक्स्ड रिलीज़ में अपडेट किए गए हैं। यदि पैचिंग मूल रूप से शेड्यूल नहीं की जा सकती है, तो स्थानीयकृत IP फ़ायरवॉल नियमों (/ip firewall filter) को लागू करके या अनुमत स्रोत पतों को सीमित करने के लिए RouterOS सेवा प्रबंधन (/ip service) का उपयोग करके सेवा तक प्रशासनिक पहुँच प्रतिबंधित करें।
यह कार्यान्वयन केवल अधिकृत नेटवर्कों पर रक्षात्मक व्यवहार सत्यापन, क्रेडेंशियल ऑडिटिंग और पैच अनुपालन सत्यापन के लिए है।