
परीक्षण
इस दस्तावेज़ में Erlang/OTP प्लेटफॉर्म में निर्मित SSH सर्वर कार्यान्वयन को प्रभावित करने वाली भेद्यता CVE-2025-32433 का अध्ययन प्रस्तुत किया गया है।
यह भेद्यता बिना प्रमाणीकरण की आवश्यकता के दूरस्थ कोड निष्पादन (Remote Code Execution, RCE) की संभावना प्रस्तुत करती है और पैच जारी होने से पहले Erlang/OTP की कई शाखाओं को प्रभावित करती है:
Erlang/OTP का व्यापक रूप से स्केलेबल वितरित सिस्टम के आधार के रूप में उपयोग किया जाता है और यह कई प्रसिद्ध परियोजनाओं (जैसे, मैसेंजर, मैसेज ब्रोकर, उच्च-लोड वेब सेवाएं) के स्टैक में शामिल है।
SSH की मूल लाइब्रेरी में एक महत्वपूर्ण RCE भेद्यता की उपस्थिति उस बुनियादी ढांचे को खतरे में डालती है जो Erlang/OTP को सर्वर या खुले SSH एक्सेस वाले घटक के रूप में उपयोग करता है।
भेद्यता का चरण-दर-चरण अध्ययन और अनुसंधान का पूरा चक्र प्रदर्शित करना:
सामग्री का संग्रह और संरचना:
CVE-2025-32433 के बारे में सार्वजनिक रूप से उपलब्ध डेटा खोजें और व्यवस्थित करें, सार और संभावित प्रभाव का वर्णन करें।
CPE और कॉन्फ़िगरेशन शर्तों का निर्धारण:
उन CPE और कॉन्फ़िगरेशन शर्तों की सूची प्रदान करें जिनके लिए भेद्यता प्रासंगिक है।
PoC/Exploit का विकास:
परीक्षण वातावरण में एक कार्यशील शोषण प्रोटोटाइप बनाएं और प्रदर्शित करें।
सुरक्षित सामूहिक जाँच के तरीके:
भेद्यता वाले होस्ट की जाँच के तीन तरीकों का वर्णन करें:
यह अध्ययन केवल शैक्षिक और नैतिक उद्देश्यों के लिए किया गया है और केवल नियंत्रित परीक्षण वातावरण में किया गया है।
लेखक प्रस्तुत जानकारी के किसी भी दुरुपयोग के लिए जिम्मेदार नहीं है।
इस जानकारी का उपयोग केवल सीखने और अपने सिस्टम की सुरक्षा बढ़ाने के लिए करें।
Erlang एक प्रोग्रामिंग भाषा है जो उच्च-समानांतर और दोष-सहिष्णु सिस्टम बनाने के लिए बनाई गई है।
इसका प्लेटफ़ॉर्म Open Telecom Platform (OTP) कई वर्षों से महत्वपूर्ण बुनियादी ढाँचों में उपयोग किया जा रहा है — दूरसंचार से लेकर वित्तीय क्षेत्र तक।
OT (ऑपरेशनल टेक्नोलॉजी) वातावरण और 5G नेटवर्क में Erlang/OTP को स्केलेबिलिटी और न्यूनतम डाउनटाइम के साथ सिस्टम के निरंतर संचालन को सुनिश्चित करने की क्षमता के लिए महत्व दिया जाता है।
दूरस्थ प्रशासन के लिए, ऐसे नेटवर्क अक्सर Erlang/OTP में निर्मित SSH कार्यान्वयन का उपयोग करते हैं।
यही कारण है कि CVE-2025-32433 भेद्यता ऐसे वातावरणों के लिए विशेष रूप से खतरनाक है।
Erlang/OTP में सुरक्षित संचार SSH के अपने कार्यान्वयन द्वारा सुनिश्चित किया जाता है, जो:
इस कार्यान्वयन में भेद्यता एक हमलावर को, जिसके पास नेटवर्क पहुँच है, बिना प्रमाणीकरण के मनमाना कोड निष्पादित करने की अनुमति देती है, जो भेद्यता वाली संपत्तियों के लिए सीधा खतरा पैदा करती है।
ग्लोबल इंटरनेट स्कैनिंग (Cortex Xpanse, अप्रैल 2025) के अनुसार, भेद्यता वाली Erlang/OTP SSH सेवाएँ इंटरनेट पर व्यापक रूप से उपलब्ध हैं और न केवल मानक पोर्ट पर, बल्कि, उदाहरण के लिए, TCP पोर्ट 2222 पर भी चल रही हैं।
यह पोर्ट अक्सर पुराने औद्योगिक ऑटोमेशन घटकों और Ethernet/IP अंतर्निहित संदेश प्रोटोकॉल द्वारा उपयोग किया जाता है, जो संभावित हमले के वेक्टर का विस्तार करता है।
भेद्यता Erlang/OTP रिलीज़ में शामिल SSH संस्करणों से संबंधित है।
विभिन्न उद्योगों की विशेषता वाले पोर्ट पर भेद्यता वाली सेवाओं का प्रसार एक महत्वपूर्ण वैश्विक आक्रमण सतह बनाता है।
टेलीमेट्री ने दिखाया कि शोषण के 85% से अधिक प्रयास निम्नलिखित क्षेत्रों के OT-सेगमेंट के फ़ायरवॉल पर दर्ज किए गए:
वहीं, OT पर उच्च निर्भरता के बावजूद, क्षेत्रों में:
में ऐसे कारक नहीं पाए गए जो इस विशेष खतरे के सक्रिय प्रसार में योगदान दें।
CVE-2025-32433 को NVD डेटाबेस में निम्नलिखित विशिष्ट CPE (Common Platform Enumeration) के साथ पंजीकृत किया गया है:
cpe:2.3:a:erlang:otp:25:*:*:*:*:*:*:*cpe:2.3:a:erlang:otp:26:*:*:*:*:*:*:*cpe:2.3:a:erlang:otp:27:*:*:*:*:*:*:*निम्नलिखित पैच संस्करणों से नीचे के माइनर रिलीज़ को भेद्यता वाला माना जाता है:
- 25.x — 25.3.2.20 तक शामिल
- 26.x — 26.2.5.11 तक शामिल
- 27.x — 27.3.3 तक शामिल
ssh:daemon/2) चल रहा होना चाहिए, न कि बाहरी openssh।22 या कस्टम, जैसे 2222) हमलावर के नेटवर्क से दूरस्थ कनेक्शन के लिए उपलब्ध होना चाहिए।ssh:daemon/2 के विशिष्ट विकल्पों से।⚠️ यदि Erlang/OTP का उपयोग केवल क्लाइंट लाइब्रेरी के रूप में किया जाता है, बिना SSH सर्वर उठाए, या यदि सर्वर किसी पृथक नेटवर्क में बंद है, तो भेद्यता अप्राप्य है।
भेद्यता इस तथ्य के कारण उत्पन्न होती है कि Erlang/OTP का निर्मित SSH सर्वर पूर्व-प्रमाणीकरण प्रक्रिया को गलत तरीके से संभालता है।
कनेक्शन प्रोटोकॉल के दो प्रकार के संदेश — SSH_MSG_CHANNEL_OPEN और SSH_MSG_CHANNEL_REQUEST — महत्वपूर्ण भूमिका निभाते हैं।
मानक RFC 4254 के अनुसार, ऐसे संदेश केवल उपयोगकर्ता के सफल प्रमाणीकरण के बाद ही स्वीकार किए जाने चाहिए।
इन्हें पहले भेजने का कोई भी प्रयास तुरंत कनेक्शन समाप्त कर देगा।
CVE-2025-32433 के मामले में, SSH डेमॉन इस नियम को लागू नहीं करता है, जिससे हमलावर एक सत्र चैनल खोल सकता है और मान्य क्रेडेंशियल प्रदान किए बिना एक मनमाना कमांड के साथ exec अनुरोध भेज सकता है।
दूसरे शब्दों में, यह अप्रमाणित दूरस्थ कोड निष्पादन (RCE) की ओर ले जाता है — हमलावर उपयोगकर्ता नाम, पासवर्ड या कुंजी जाने बिना सर्वर पर नियंत्रण प्राप्त करने में सक्षम है।

SSH कनेक्शन प्रोटोकॉल SSH के परिवहन और प्रमाणीकरण स्तरों के ऊपर काम करता है।
यह इंटरैक्टिव लॉगिन, दूरस्थ कमांड निष्पादन और पोर्ट फ़ॉरवर्डिंग के कार्य प्रदान करता है।
Erlang/OTP में SSH के भेद्यता वाले कार्यान्वयन में, ये दो संदेश — SSH_MSG_CHANNEL_OPEN और SSH_MSG_CHANNEL_REQUEST, जो चैनल आरंभ करने और कमांड का अनुरोध करने के लिए आवश्यक हैं, हमले का बिंदु बन जाते हैं:
हमलावर विशेष रूप से तैयार ट्रैफ़िक भेज सकता है जो सिस्टम को प्रमाणीकरण पास करने से पहले मनमाना कोड निष्पादित करने के लिए धोखा देता है।

अनुसंधान के ढांचे में CVE-2025-32433 के लिए एक कार्यशील Proof-of-Concept तैयार किया गया है।
CVE-2025-32433.py — Python स्क्रिप्ट जो मैन्युअल रूप से SSH पैकेट बनाती है
(SSH_MSG_KEXINIT, SSH_MSG_CHANNEL_OPEN, SSH_MSG_CHANNEL_REQUEST) और
उन्हें प्रमाणीकरण से पहले भेजती है।
इससे Erlang/OTP के भेद्यता वाले संस्करणों में सर्वर पक्ष पर एक मनमाना कमांड निष्पादित करना संभव हो जाता है — PoC में यह /lab.txt फ़ाइल बनाता है जिसमें cyberok टेक्स्ट होता है।
ssh_server.erl — एक न्यूनतम Erlang मॉड्यूल जो पोर्ट 2222 पर निर्मित OTP SSH डेमॉन उठाता है। इसका उपयोग केवल प्रदर्शन के लिए किया जाता है और Docker कंटेनर के अंदर चलाया जाता है।
Dockerfile — कंटेनर बनाने की रेसिपी, जिसमें स्वचालित रूप से Erlang/OTP का निर्दिष्ट संस्करण संकलित किया जाता है और परीक्षण SSH सर्वर शुरू किया जाता है।
⚠️ यह PoC केवल स्थानीय परीक्षण और शैक्षिक उद्देश्यों के लिए है। उत्पादन या सार्वजनिक रूप से सुलभ नेटवर्क में उपयोग न करें।
इमेज बनाएं:
git clone https://github.com/iteride/CVE-2025-32433.git && cd CVE-2025-32433/POC/ && docker build -t cve-ssh .

इमेज चलाएं
docker run -d --name cve-ssh -p 2222:2222 cve-ssh
POC प्रदर्शन

निष्क्रिय टेम्पलेट वास्तविक हमले की कार्रवाई किए बिना भेद्यता के अप्रत्यक्ष संकेत ढूंढता है।
यह केवल "सतही" जानकारी का विश्लेषण करता है जो सेवा स्वयं प्रदान करती है:
यदि कोई भेद्यता वाला संस्करण पाया जाता है (जैसे, OTP 25.3.2.19 या 26.2.5.10), तो nuclei होस्ट को संभावित रूप से भेद्यता वाला चिह्नित करता है।
⚠️ ऐसा दृष्टिकोण सुरक्षित है: कोई दुर्भावनापूर्ण पैकेट या शोषण का प्रयास नहीं किया जाता है।
nuclei -u 127.0.0.1:2222 -t erlang-passive.yaml
सक्रिय टेम्पलेट नियंत्रित आक्रमण अनुकरण करता है:
यह प्रमाणीकरण से पहले विशेष रूप से तैयार SSH पैकेट भेजता है और जाँचता है कि भेद्यता सक्रिय होती है या नहीं।
शोषण के तथ्य को दर्ज करने के लिए Interactsh का उपयोग किया जाता है — यदि दूरस्थ सर्वर ने दुर्भावनापूर्ण अनुरोध को निष्पादित किया है, तो Interactsh पैनल पर DNS-कॉलबैक दिखाई देगा।
✅ ऐसा परीक्षण दूरस्थ कोड निष्पादन (RCE) की वास्तविक संभावना की पुष्टि करता है,
लेकिन केवल पृथक परीक्षण वातावरण में किया जाता है।
nuclei -u 127.0.0.1:2222 -t erlang-active.yaml -code
nuclei-template से अंतर:
स्क्रिप्ट चलाएं
⚠️ चलाने से पहले सुनिश्चित करें कि interactsh-client स्थापित और चल रहा है
python3 babyfon.py -f targets.txt -d your.interactsh_domain

चलाने के बाद, interactsh-client में DNS इंटरैक्शन जाँचें। (उदाहरण में दो लक्ष्य स्कैन किए गए हैं: एक भेद्यता वाला, दूसरा पहले से पैच किया गया)



परीक्षणों से निष्कर्ष: