
U-Boot 1.1.3 बूटलोडर कमजोरियों के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट सूट, जो सीरियल UART कनेक्शन के माध्यम से फर्मवेयर विश्लेषण, असुरक्षित अपडेट परीक्षण और हार्डवेयर डिबगिंग इंटरफेस शोषण को सक्षम करता है।
यह प्रूफ ऑफ कॉन्सेप्ट (PoC) 27 अगस्त 2019 को संकलित U-Boot बूटलोडर संस्करण 1.1.3 में कमजोरियों की पुष्टि करने के लिए बनाया गया था। कोड OWASP IoT सुरक्षा परीक्षण गाइड (ISTG) श्रेणियों से संबंधित पांच अलग-अलग कमजोरियों को कार्यान्वित करता है।
चेतावनी: इस PoC का उपयोग केवल उन उपकरणों पर करें जिनका परीक्षण करने की आपके पास अनुमति हो। बिना अनुमति के सिस्टम पर उपयोग लागू कानूनों का उल्लंघन कर सकता है।
# आवश्यक लाइब्रेरीज़ स्थापित करें
pip install pyserial cryptography
इस PoC का उपयोग करने के लिए, आपको लक्ष्य डिवाइस के सीरियल इंटरफ़ेस से कनेक्ट करना होगा:
/dev/ttyUSB0, Windows पर COM3)यह स्क्रिप्ट प्रत्येक कमजोरी का अलग-अलग या सभी को एक साथ परीक्षण करने के लिए कई ऑपरेशन मोड प्रदान करती है।
python3 uboot_exploit_poc.py --port /dev/ttyUSB0
आप --exploit पैरामीटर के साथ कोई विशिष्ट एक्सप्लॉइट चला सकते हैं:
# "असुरक्षित अपडेट तंत्र" कमजोरी का परीक्षण करें
python3 uboot_exploit_poc.py --port /dev/ttyUSB0 --exploit 1
# "हार्डकोडेड संवेदनशील मान" कमजोरी का परीक्षण करें
python3 uboot_exploit_poc.py --port /dev/ttyUSB0 --exploit 2
# "डिबगिंग इंटरफ़ेस पहुँच" कमजोरी का परीक्षण करें
python3 uboot_exploit_poc.py --port /dev/ttyUSB0 --exploit 3
# "फर्मवेयर डाउनग्रेड के विरुद्ध कोई सुरक्षा नहीं" कमजोरी का परीक्षण करें
python3 uboot_exploit_poc.py --port /dev/ttyUSB0 --exploit 4
# "अपडेट के लिए सुरक्षित चैनल का अभाव" कमजोरी का परीक्षण करें
python3 uboot_exploit_poc.py --port /dev/ttyUSB0 --exploit 5
# बॉड दर बदलें (डिफ़ॉल्ट: 115200)
python3 uboot_exploit_poc.py --port /dev/ttyUSB0 --baudrate 57600
# सीरियल टाइमआउट बदलें (डिफ़ॉल्ट: 1 सेकंड)
python3 uboot_exploit_poc.py --port /dev/ttyUSB0 --timeout 2
स्क्रिप्ट uboot_extracted नामक एक निर्देशिका बनाएगी जिसमें शामिल होगा:
फ़ाइल full_exploitation_summary.txt सभी कमजोरी परीक्षणों का पूरा सारांश प्रदान करती है।
बूटलोडर में फर्मवेयर अपडेट के लिए उचित हस्ताक्षर सत्यापन का अभाव है, जिससे अनधिकृत फर्मवेयर की स्थापना संभव हो जाती है।
संवेदनशील मान जैसे क्रेडेंशियल्स और कुंजियाँ बूटलोडर बाइनरी में हार्डकोडेड होती हैं, जिससे संवेदनशील जानकारी निकालना संभव हो जाता है।
डिबगिंग इंटरफ़ेस अपर्याप्त रूप से संरक्षित है, जिससे प्रमाणीकरण के बिना निम्न-स्तरीय सिस्टम नियंत्रणों तक पहुँच संभव हो जाती है।
बूटलोडर में एंटी-रोलबैक तंत्र का अभाव है, जिससे ज्ञात कमजोरियों वाले संस्करणों में डाउनग्रेड करना संभव हो जाता है।
फर्मवेयर अपडेट बिना एन्क्रिप्शन या प्रमाणीकरण के असुरक्षित चैनलों पर प्रेषित होते हैं, जिससे अवरोधन और संशोधन संभव हो जाता है।
इस PoC द्वारा एकत्रित साक्ष्य CVE सबमिशन का समर्थन करने के लिए उपयोग किए जा सकते हैं। CVE सबमिशन के लिए:
uboot_extracted निर्देशिका से सभी लॉग और साक्ष्य एकत्र करेंयह उपकरण केवल शैक्षिक और व्यावसायिक सुरक्षा परीक्षण उद्देश्यों के लिए प्रदान किया गया है। लेखक इस उपकरण के किसी भी दुरुपयोग या क्षति के लिए जिम्मेदार नहीं हैं। किसी भी सिस्टम या डिवाइस का परीक्षण करने से पहले हमेशा उचित प्राधिकरण प्राप्त करें।