
OpenSSH उपयोगकर्ता नाम गणना - CVE-2016-6210
CVE-2016-6210 के लिए "हथियारीकृत" एक्सप्लॉइट का पहला संस्करण हैएडी हरारी द्वारा Full Disclosure पर पोस्ट किया गया http://seclists.org/fulldisclosure/2016/Jul/51
बड़े पासवर्ड भेजकर, एक दूरस्थ उपयोगकर्ता SSHD चलाने वाले सिस्टम पर उपयोगकर्ताओं की गणना कर सकता है। यह समस्या अधिकांश आधुनिक कॉन्फ़िगरेशन में मौजूद है, क्योंकि SHA256/SHA512 हैश की गणना करने में BLOWFISH हैश की तुलना में अधिक समय लगता है।
जब SSHD किसी अस्तित्वहीन उपयोगकर्ता को प्रमाणित करने का प्रयास करता है, तो यह SSHD स्रोत कोड में हार्डकोडेड नकली पासवर्ड ढांचा उठा लेता है। इस हार्डकोडेड पासवर्ड ढांचे पर पासवर्ड हैश BLOWFISH ($2) एल्गोरिथ्म पर आधारित होता है। यदि वास्तविक उपयोगकर्ताओं के पासवर्ड SHA256/SHA512 का उपयोग करके हैश किए गए हैं, तो बड़े पासवर्ड (10KB) भेजने से गैर-मौजूद उपयोगकर्ताओं के लिए सर्वर से कम प्रतिक्रिया समय मिलेगा।
नोट: श्री हरारी ने इसका परीक्षण opensshd-7.2p2 पर किया, जबकि मेरा परीक्षण OpenSSH_6.9p1 पर किया गया था।
स्क्रिप्ट वर्तमान में मान्य बनाम अमान्य उपयोगकर्ता नामों की टाइमिंग में 10-30% विचलन सीमा पर आधारित है। वर्तमान में केवल >20% को मान्य उपयोगकर्ता नाम के रूप में स्वीकार किया जाता है और तदनुसार आउटपुट सूची में जोड़ा जाता है (बेझिझक इसे स्क्रिप्ट के भीतर बदलें)। यह मेरे लिए प्रभावी साबित हुआ है।
इस प्रोजेक्ट को Bitbucket से Github पर लाया जा रहा है।