Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
Log in
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2023-27216 — नौसिखिए का फर्मवेयर हैकिंग के प्रति दृष्टिकोण | Kitploit
उपकरण/GitHubGitHub/hoangrealer/cve-2023-27216
एम्बेडेड सिस्टम सुरक्षाIoT सुरक्षाभेद्यता विश्लेषणरिवर्स इंजीनियरिंगडीबगर्सहार्डवेयर हैकिंगलर्निंग और शिक्षाफर्मवेयर विश्लेषणबाइनरी शोषण
GitHubhoangrealer/cve-2023-27216

CVE-2023-27216

नौसिखिए का फर्मवेयर हैकिंग के प्रति दृष्टिकोण

3172 साल पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें

CVE-2023-27216 - DLink राउटर

यह दस्तावेज़ मेरे व्यक्तिगत अनुभव का वर्णन है - फर्मवेयर रिवर्सिंग और एक्सप्लॉइटिंग में एक नौसिखिया। Firmwhere??

दायरा

प्रदर्शन के लिए, हम CVE-2023-27216 का विश्लेषण और पुनरुत्पादन करेंगे।

  • CVE संख्या: CVE-2023-27216
  • कमजोरी का विवरण: D-Link DSL-3782 v.1.03 में पाई गई एक समस्या दूरस्थ प्रमाणित उपयोगकर्ताओं को नेटवर्क सेटिंग्स पेज के माध्यम से रूट के रूप में मनमाना कोड निष्पादित करने की अनुमति देती है।
  • उपकरण मॉडल: D-Link DSL-3782
  • फर्मवेयर संस्करण: DSL-3782_A1_EU_1.01
  • निर्माता की आधिकारिक वेबसाइट: http://www.dlink.com.cn/
  • फर्मवेयर पता: https://media.dlink.eu/support/products/dsl/dsl-3782/driver_software/dsl-3782_a1_eu_1.01_07282016.zip

कार्य

किसी भी फर्मवेयर का शोषण करने के लिए निम्नलिखित चरण हैं:

  • फर्मवेयर प्राप्त करें। 2 तरीके हैं: उन्हें सीधे हार्डवेयर (कैमरा, राउटर, प्रिंटर, आदि) से निकालें या निर्माता की वेबसाइट से प्राप्त करें। इस पर एक अन्य दस्तावेज़ में चर्चा की जाएगी।
  • फर्मवेयर का विश्लेषण करें और किसी भी कमजोरी का पता लगाएं
  • फर्मवेयर का अनुकरण करें।
  • डिबग करने के लिए gdbserver को स्थिर रूप से बनाएं।

फर्मवेयर विश्लेषण

आमतौर पर एक फर्मवेयर बाइनरी फ़ाइल में एक बूटलोडर (uBoot), एक कर्नेल फ़ाइल, बूटलोडर के लिए कर्नेल हेडर (uImage), एक संपीड़ित फ़ाइल सिस्टम (आमतौर पर SquashFS प्रारूप में), एक CRC/MD5 तालिका (फ़ाइल अखंडता सत्यापित करने के लिए) और अन्य विविध फ़ाइलें होती हैं।

पहले फर्मवेयर का विश्लेषण करने का एक तरीका खोजें, कुछ शोध करें, कुछ संसाधन मिले:

  • बिनवॉक फर्मवेयर का विश्लेषण और निष्कर्षण के लिए
  • अनुकरण कैसे करें: https://boschko.ca/qemu-emulating-firmware/ Binwalk check signature

महत्वपूर्ण फ़ाइलें निकालें

बिनवॉक का उपयोग करके फर्मवेयर निकालें: binwalk -Me DSL-3782_A1_EU_1.01_07282016.bin Binwalk extract

निकाले गए squashfs-root फ़ोल्डर और कुछ अजीब फ़ाइलें मिलीं। Extracted files

बोनस: यदि आपको squashfs-root फ़ोल्डर दिखाई नहीं देता है, तो आप किसी भी ".squashfs" फ़ाइल पर unsquashfs का उपयोग करें जो आप देखते हैं। वे बस ज़िप फ़ाइलों की तरह हैं 😅।

फर्मवेयर कैसे काम करता है इसका विश्लेषण

फर्मवेयर आर्किटेक्चर और एंडियन की जाँच करें। यह फर्मवेयर से निकाले गए कुछ बायनरी की जाँच करके किया जा सकता है। आर्किटेक्चर और फर्मवेयर की जाँच करें: file <binary> Firmware Architecture

यहाँ हम लगभग पुष्टि कर सकते हैं कि फर्मवेयर MIPS 32-bit MSB आर्किटेक्चर पर चलता है। "लगभग" का कारण यह है कि कुछ फर्मवेयर MIPS संगत जैसे Lexra के साथ भिन्न आर्किटेक्चर पर चल सकते हैं।

सquashfs-root फ़ोल्डर की जाँच करें और कुछ दिलचस्प फ़ाइलें मिलीं:

  • usr/etc/init.d/rcS => यह वह स्क्रिप्ट है जो फर्मवेयर बूट होने पर चलती है
  • usr/etc/passwd => यह वह फ़ाइल है जिसमें उपयोगकर्ता जानकारी होती है
  • userfs/romfile.cfg => इसमें एक क्रेडेंशियल admin:admin है

rcS फ़ाइल की जाँच करें और कुछ दिलचस्प कोड मिला:

echo "admin:$1$$iC.dUsGpxNNJGeOm1dFio/:0:0:root:/:/bin/sh" > /usr/etc/passwd
  • यह कोड उपयोगकर्ता जानकारी को passwd फ़ाइल में लिखने के लिए उपयोग किया जाता है
  • एक वेबसर्वर चलाएं जिसे boa सर्वर कहा जाता है। Boa एक प्राचीन वेबसर्वर है, जिसका उपयोग मुख्य रूप से 2000 के दशक में राउटर जैसे एम्बेडेड उपकरणों में किया जाता था। हालांकि, बोआ सर्वर ने 2005 में ही अपना विकास बंद कर दिया था! भले ही बोआ सर्वर लगभग 20 साल पहले मर चुका है, यह आज भी हमारे विक्रेता की बदौलत जीवित है। Boa boot

पूर्ण सिस्टम फर्मवेयर अनुकरण

मैं अनुकरण प्रक्रिया के लिए Debian-आधारित OS जैसे Ubuntu या Kali का उपयोग करने की सलाह देता हूं। एक और OS है जो फर्मवेयर हैकिंग पर केंद्रित है जिसे AttifyOS कहा जाता है। इस दस्तावेज़ में, मैंने Kali Linux का उपयोग किया। अनुकरण प्रक्रिया शुरू करें, 2 उपकरण हैं:

  • QEMU => पहियों का पुन: आविष्कार न करें 🙏 🛐
  • FAT- फर्मवेयर-विश्लेषण-टूलकिट => यह काम करता है, आप यह जानने के लिए स्रोत कोड पढ़ सकते हैं कि यह क्या करता है।

Stick with it

आइए देखें कि फर्मवेयर को पूरी तरह से अनुकरण करने के लिए FAT का उपयोग कैसे करें। सबसे पहले, हम github से आपकी Kali मशीन पर रिपो को क्लोन करते हैं। और सेटअप प्रक्रिया से गुजरते हैं। आपको fat.config फ़ाइल भी बदलनी होगी, अन्यथा यह काम नहीं करेगा।

git clone https://github.com/attify/firmware-analysis-toolkit.git

cd firmware-analysis-toolkit

./setup.sh

vi fat.config # Modify to your sudo password.

फिर हम फर्मवेयर बाइनरी (जो हमने निर्माता से डाउनलोड की थी) को अपनी Kali मशीन पर FAT के फ़ोल्डर में कॉपी करते हैं और इसे चलाते हैं।

./fat.py DSL-3782_A1_EU_1.01_07282016.bin

नोट: FAT की सेटअप प्रक्रिया के दौरान हमें त्रुटियां मिल सकती हैं। यह 'no libmagic' कह सकता है। Fat run fail

बस सरलता से चलाएं

pip unistall python-magic
pip install python-magic

इससे आपकी समस्या ठीक हो जानी चाहिए, फिर हम बिल्ड कमांड फिर से चलाते हैं। यह अब बढ़िया काम करना चाहिए।

Fat run nice

चलाने के लिए Enter दबाएं। अनुकरण प्रक्रिया अच्छी तरह से काम करनी चाहिए जैसे आप http://192.168.1.1 (Kali मशीन पर) ब्राउज़ करके जांच सकते हैं कि यह काम करता है या नहीं।

Router main page

यदि आपके पास क्रेडेंशियल हैं तो आप कंसोल में भी लॉगिन कर सकते हैं। यहाँ admin:admin है।

Console login

यदि आप अनुकरण फर्मवेयर को बंद करने का निर्णय लेते हैं, तो बस Ctrl+A X दबाएं। जब आपको फिर से चलाने की आवश्यकता हो, तो fat.py को दोबारा न चलाएं क्योंकि फर्मवेयर पहले से ही एक इमेज में बन चुका है। आपको केवल वह स्क्रिप्ट चलानी होगी जो पहले ही उत्पन्न हो चुकी है।

cd firmadyne/scratch/<Image-ID>
./run.sh

Rerun the image

डिबगर

डिबगिंग उद्देश्य के लिए gdbserver बनाएं। gdbserver बनाने के कई तरीके हैं। आप स्थिर रूप से निर्मित सर्वर भी डाउनलोड कर सकते हैं। एक repo है जिसमें कुछ स्थिर रूप से निर्मित सर्वर हैं। हालांकि, मैं स्वयं gdbserver बनाना पसंद करता हूं क्योंकि github repo में मौजूद काफी पुराने हैं, जिनमें कुछ संगतता समस्याएं हो सकती हैं।

संदर्भ के लिए इस ब्लॉग पोस्ट को देखें https://sheran.sg/blog/cross-compile-gdb-for-mips/. ब्लॉग 30 जुलाई 2024 को अपलोड किया गया था, इस प्रोजेक्ट से ठीक पहले, इसलिए यह पूरी तरह से काम करता है। नोट: ब्लॉग MIPS x32 LSB के लिए बनाया गया था जबकि हमें MIPS x32 MSB चाहिए। हमें mipsel-linux-gnu को mips-linux-gnu में बदलना होगा।

टूल डाउनलोड करें