
यह proof-of-concept स्क्रिप्ट अप्रत्याशित `SSH_MSG_NEWKEYS` पैकेट भेजकर OpenSSH के 7.4 से पहले के संस्करणों में मौजूद कमज़ोरी (CVE-2016-10708) का शोषण करती है।
यह प्रूफ-ऑफ-कॉन्सेप्ट स्क्रिप्ट OpenSSH के संस्करण 7.4 से पहले के संस्करणों (CVE-2016-10708) में एक कमज़ोरी का शोषण करती है, अप्रत्याशित SSH_MSG_NEWKEYS पैकेट भेजकर जो DoS का कारण बन सकते हैं। यह दो मोड में काम कर सकता है:
NEWKEYS संदेशों की बाढ़ लाकर सेवा-नकार की स्थिति उत्पन्न करता है।यह उपकरण केवल अनुसंधान और शैक्षिक उद्देश्यों के लिए प्रदान किया गया है। जिन प्रणालियों के आप स्वामी नहीं हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट अनुमति नहीं है, उनकी अनधिकृत स्कैनिंग या आक्रमण करना लागू कानूनों और विनियमों का उल्लंघन हो सकता है।
इस स्क्रिप्ट का जिम्मेदारीपूर्वक उपयोग करें:
-t, --targets
लक्ष्य IP या होस्टनामों की अल्पविराम से अलग की गई सूची (आवश्यक)
-p, --port
SSH पोर्ट जिससे जुड़ना है (डिफ़ॉल्ट: 22)
-m, --mode
संचालन मोड: scan या attack (आवश्यक)
--sockets
प्रति लक्ष्य खोले जाने वाले TCP कनेक्शनों की संख्या (डिफ़ॉल्ट: 5)
--threads
अधिकतम समवर्ती कार्यकर्ता थ्रेड की संख्या (डिफ़ॉल्ट: 10)
-v, --verbose
डिबग-स्तरीय लॉगिंग आउटपुट सक्षम करें
बैनर विनिमय स्कैन मोड में स्क्रिप्ट प्रत्येक लक्ष्य से जुड़ती है और OpenSSH संस्करण निकालने के लिए SSH बैनर पढ़ती है।
कनेक्शन सेटअप
आक्रमण मोड में यह प्रति लक्ष्य निर्दिष्ट संख्या में TCP सॉकेट खोलती है और तुरंत एक नकली क्लाइंट बैनर (SSH-2.0-OpenSSH_8.9) भेजती है, फिर कनेक्शनों को खुला रखती है।
पैकेट निर्माण
यह केवल SSH_MSG_NEWKEYS पेलोड वाले कच्चे SSH ट्रांसपोर्ट पैकेट बनाती है। SSH बाइनरी पैकेट प्रोटोकॉल का पालन करने के लिए पैकेट लंबाई, पैडिंग लंबाई और यादृच्छिक पैडिंग की गणना की जाती है।
फ्लड लूप
स्क्रिप्ट एक अनंत लूप में प्रवेश करती है, प्रत्येक सॉकेट पर तैयार किए गए NEWKEYS पैकेट को यादृच्छिक उप-मिलीसेकंड विलंब के साथ भेजती है। अपैच्ड sshd इंस्टेंस क्रम से बाहर के NEWKEYS संदेशों को गलत तरीके से संभालेंगे और अंततः क्रैश या अस्थिर हो जाएंगे।