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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
firmware-analysis-toolkit — फर्मवेयर को एमुलेट करने और सुरक्षा कमजोरियों के लिए इसका विश्लेषण करने के लिए टूलकिट | Kitploit
उपकरण/GitHubGitHub/attify/firmware-analysis-toolkit
एम्बेडेड सिस्टम सुरक्षाIoT सुरक्षाभेद्यता विश्लेषणरिवर्स इंजीनियरिंगबाइनरी विश्लेषणलर्निंग और शिक्षाफर्मवेयर विश्लेषण
GitHubattify/firmware-analysis-toolkit

firmware-analysis-toolkit

फर्मवेयर को एमुलेट करने और सुरक्षा कमजोरियों के लिए इसका विश्लेषण करने के लिए टूलकिट

रिपॉजिटरी देखें
1.6k2831 साल पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

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

FAT एक टूलकिट है जो सुरक्षा शोधकर्ताओं को IoT और एम्बेडेड डिवाइस फर्मवेयर में कमजोरियों का विश्लेषण और पहचान करने में मदद करने के लिए बनाया गया है। इसका उपयोग Attify द्वारा संचालित "Offensive IoT Exploitation" प्रशिक्षण में भी किया जाता है।

नोट:

  • अभी के लिए, यह केवल Firmadyne को स्वचालित करने के लिए एक स्क्रिप्ट है जो फर्मवेयर एमुलेशन के लिए उपयोग किया जाने वाला उपकरण है। वास्तविक एमुलेशन में किसी भी समस्या के मामले में, कृपया अपनी समस्याएं firmadyne issues पर पोस्ट करें।  

  • यदि आप समस्याओं का सामना कर रहे हैं, तो आप AttifyOS आज़मा सकते हैं जिसमें फर्मवेयर विश्लेषण टूलकिट और अन्य उपकरण पूर्व-स्थापित और उपयोग के लिए तैयार हैं।


फर्मवेयर विश्लेषण टूलकिट (आगे FAT) कुछ बदलावों के साथ Firmadyne पर आधारित है। Firmadyne एमुलेटेड इमेज के बारे में जानकारी संग्रहीत करने के लिए एक PostgreSQL डेटाबेस का उपयोग करता है। हालांकि मूल कार्यक्षमता यानी फर्मवेयर एमुलेशन के लिए PostgreSQL की वास्तव में आवश्यकता नहीं है। इसलिए FAT इसका उपयोग नहीं करता है।

सेटअप निर्देश

FAT को Python 3 में विकसित किया गया है। हालांकि आपको Python 3 और Python 2 दोनों स्थापित करने की आवश्यकता है क्योंकि Firmadyne और इसकी निर्भरताओं के कुछ भाग Python 2 का उपयोग करते हैं। FAT को वर्चुअल मशीन के अंदर स्थापित करने की अत्यधिक अनुशंसा की जाती है।

स्थापित करने के लिए बस रिपॉजिटरी को क्लोन करें और स्क्रिप्ट ./setup.sh चलाएं।

root@kitploit:~
git clone https://github.com/attify/firmware-analysis-toolkit
cd firmware-analysis-toolkit
./setup.sh

स्थापना पूर्ण होने के बाद, फ़ाइल fat.config को संपादित करें और नीचे दिखाए अनुसार sudo पासवर्ड प्रदान करें। Firmadyne को अपने कुछ संचालन के लिए sudo विशेषाधिकारों की आवश्यकता है। प्रक्रिया को स्वचालित करने के लिए sudo पासवर्ड प्रदान किया जाता है।

root@kitploit:~
[DEFAULT]
sudo_password=attify123
firmadyne_path=/home/attify/firmadyne

FAT चलाना

root@kitploit:~
$ ./fat.py <firmware file>
  • फर्मवेयर फ़ाइल नाम को स्क्रिप्ट के तर्क के रूप में प्रदान करें।

  • स्क्रिप्ट बनाए गए नेटवर्क इंटरफेस को निर्दिष्ट IP पते प्रदर्शित करेगी। इसे नोट कर लें।

  • अंत में, यह कहेगा कि फर्मवेयर चल रहा है। ENTER दबाएं और फर्मवेयर के बूट होने तक प्रतीक्षा करें। पिछले चरण में दिखाए गए IP को पिंग करें, या ब्राउज़र में खोलें।

बधाई हो! फर्मवेयर अंततः एमुलेटेड है।

सभी विश्लेषित फर्मवेयर छवियों को हटाने के लिए, चलाएं

root@kitploit:~
$ ./reset.py

उदाहरण 1

root@kitploit:~
$ ./fat.py DIR-601_REVB_FIRMWARE_2.01.BIN 

                               __           _   
                              / _|         | |  
                             | |_    __ _  | |_ 
                             |  _|  / _` | | __|
                             | |   | (_| | | |_ 
                             |_|    \__,_|  \__|                    
                    
                Welcome to the Firmware Analysis Toolkit - v0.3
    Offensive IoT Exploitation Training http://bit.do/offensiveiotexploitation
                  By Attify - https://attify.com  | @attifyme
    
[+] Firmware: DIR-601_REVB_FIRMWARE_2.01.BIN
[+] Extracting the firmware...
[+] Image ID: 1
[+] Identifying architecture...
[+] Architecture: mipseb
[+] Building QEMU disk image...
[+] Setting up the network connection, please standby...
[+] Network interfaces: [('br0', '192.168.0.1')]
[+] All set! Press ENTER to run the firmware...
[+] When running, press Ctrl + A X to terminate qemu

Asciicast

asciicast

उदाहरण 2

root@kitploit:~
$ ./fat.py DIR890A1_FW103b07.bin --qemu 2.5.0

                               __           _
                              / _|         | |
                             | |_    __ _  | |_
                             |  _|  / _` | | __|
                             | |   | (_| | | |_
                             |_|    \__,_|  \__|

                Welcome to the Firmware Analysis Toolkit - v0.3
    Offensive IoT Exploitation Training http://bit.do/offensiveiotexploitation
                  By Attify - https://attify.com  | @attifyme

[+] Firmware: DIR890A1_FW103b07.bin
[+] Extracting the firmware...
[+] Image ID: 2
[+] Identifying architecture...
[+] Architecture: armel
[+] Building QEMU disk image...
[+] Setting up the network connection, please standby...
[+] Network interfaces: [('br0', '192.168.0.1'), ('br1', '192.168.7.1')]
[+] Using qemu-system-arm from /home/attify/firmware-analysis-toolkit/qemu-builds/2.5.0
[+] All set! Press ENTER to run the firmware...
[+] When running, press Ctrl + A X to terminate qemu

अतिरिक्त नोट्स

  • अभी के लिए, ARM firmadyne kernel Ubuntu 18.04 आधिकारिक रिपॉजिटरी पर उपलब्ध Qemu के नवीनतम संस्करण (2.11.1) के साथ काम नहीं करता है। हालांकि, Ubuntu 16.04 पर Qemu (2.5.0) काम करता है। वैकल्पिक रूप से आप उदाहरण 2 में दिखाए अनुसार firmadyne के साथ प्रदान किए गए बंडल किए गए Qemu (2.5.0) का भी उपयोग कर सकते हैं।

  • यदि कोई नेटवर्क इंटरफ़ेस का पता नहीं चलता है, तो नीचे दिखाए अनुसार scripts/inferNetwork.sh में 60 से टाइमआउट मान बढ़ाने का प्रयास करें

    root@kitploit:~
    echo "Running firmware ${IID}: terminating after 60 secs..."
    timeout --preserve-status --signal SIGINT 60 "${SCRIPT_DIR}/run.${ARCH}.sh" "${IID}"
    

ज्ञात समस्याएं

  • FAT Ubuntu 20.04 पर काम नहीं करता है। इसके पीछे मुख्य कारण Firmadyne की कुछ निर्भरताएं (विशेष रूप से binwalk) हैं जिन्हें Python 2 की आवश्यकता है। जब तक इसे अपस्ट्रीम में ठीक नहीं किया जाता, Ubuntu 18.04 या उससे निचले संस्करण पर बने रहें। Ubuntu 20.04 अब समर्थित है। FAT का वर्तमान संस्करण समस्या को हल करने के लिए binwalk स्थापना स्क्रिप्ट को पैच करता है।

स्टैटिक Qemu बनाना

रिपॉजिटरी में पहले से ही qemu 2.0.0, 2.5.0 और 3.0.0 के स्टैटिक बिल्ड शामिल हैं (रिलीज़ में) लेकिन यदि आप अपना खुद का बनाना चाहते हैं तो नीचे दिए गए चरणों का पालन करें।

एक साफ Ubuntu 16.04 VM पर चलाएं। (16.04 का उपयोग करना महत्वपूर्ण है, बाद के संस्करणों में स्टैटिक संकलन के साथ समस्याएं हैं)।

Qemu 2.0.0

root@kitploit:~
sudo apt update && sudo apt build-dep qemu -y
wget https://download.qemu.org/qemu-2.0.0.tar.bz2
tar xf qemu-2.0.0.tar.bz2
mkdir qemu-2.0.0-build
cd qemu-2.0.0
./configure --prefix=$(realpath ../qemu-2.0.0-build) --static --target-list=arm-softmmu,mips-softmmu,mipsel-softmmu --disable-smartcard-nss --disable-spice --disable-libusb --disable-usb-redir
make
make install

संकलित बाइनरी qemu-2.0.0-build निर्देशिका में पाई जा सकती हैं।

Qemu 2.5.0

root@kitploit:~
sudo apt update && sudo apt build-dep qemu -y
wget https://download.qemu.org/qemu-2.5.0.tar.bz2
tar xf qemu-2.5.0.tar.bz2
mkdir qemu-2.5.0-build
cd qemu-2.5.0
./configure --prefix=$(realpath ../qemu-2.5.0-build) --static --target-list=arm-softmmu,mips-softmmu,mipsel-softmmu --disable-smartcard --disable-libusb --disable-usb-redir
make 
make install

संकलित बाइनरी qemu-2.5.0-build निर्देशिका में पाई जा सकती हैं।

Qemu 3.0.0

root@kitploit:~
sudo apt update && sudo apt build-dep qemu -y
wget https://download.qemu.org/qemu-3.0.0.tar.bz2
tar xf qemu-3.0.0.tar.bz2
mkdir qemu-3.0.0-build
cd qemu-3.0.0
./configure --prefix=$(realpath ../qemu-3.0.0-build) --static --target-list=arm-softmmu,mips-softmmu,mipsel-softmmu --disable-smartcard --disable-libusb --disable-usb-redir
make 
make install

संकलित बाइनरी qemu-3.0.0-build निर्देशिका में पाई जा सकती हैं।

नोट: Alpine सिस्टम पर qemu को स्टैटिक रूप से संकलित करना भी संभव होना चाहिए लेकिन इसका परीक्षण नहीं किया गया है। सामान्य तौर पर Alpine पर संकलन Ubuntu की तुलना में पसंद किया जाता है क्योंकि पूर्व में musl libc आता है जो Ubuntu पर glibc की तुलना में स्टैटिक लिंकेज के लिए बेहतर है।

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