📦 Binwalk - Firmware Analysis & File Carving Tool
🔍 Firmware Analysis 💾 File Carving 🕵️ Embedded Device Forensics
Category: 8️⃣ Forensics Tools
📝 Description
Binwalk एक शक्तिशाली फर्मवेयर एनालिसिस, फाइल कार्विंग, और एंबेडेड डिवाइस फोरेंसिक टूल है। यह बाइनरी फाइल्स (जैसे फर्मवेयर इमेज, राउटर डंप, IoT डिवाइस फर्मवेयर) के अंदर छिपी हुई फाइल्स और डेटा को निकाल सकता है। Binwalk फाइल सिग्नेचर (मैजिक बाइट्स) के आधार पर ZIP, TAR, GZIP, JPEG, PNG, ELF, और कई अन्य फाइल टाइप्स को पहचानता है और उन्हें एक्सट्रैक्ट करता है। यह IoT सिक्योरिटी, फर्मवेयर रिवर्स इंजीनियरिंग, और डाटा रिकवरी के लिए बहुत उपयोगी है।
विशेषता: Binwalk की सबसे बड़ी खासियत है इसकी फाइल सिग्नेचर डेटाबेस और ऑटोमेटेड कार्विंग। यह कुछ ही सेकंड में पूरी फाइल को स्कैन करके सभी एम्बेडेड फाइल्स को निकाल सकता है।
📦 Installation
Kali Linux (पहले से इंस्टॉल):
binwalk -h
Ubuntu/Debian:
sudo apt update sudo apt install binwalk -y
GitHub से इंस्टॉल:
git clone https://github.com/ReFirmLabs/binwalk.git cd binwalk sudo python3 setup.py install
Python pip से:
pip3 install binwalk
💻 Common Commands (उदाहरण सहित)
📌 Binwalk का सबसे आम उपयोग फर्मवेयर इमेज स्कैन करना है:
🔹 1. फाइल स्कैन करना - एम्बेडेड फाइल्स की पहचान:
binwalk firmware.bin
binwalk router_firmware.bin से फाइल के अंदर छिपी ZIP, TAR, JPEG, ELF फाइल्स की पहचान करता है।🔹 2. डिटेल्ड स्कैन (वर्बोस मोड):
binwalk -v firmware.bin
🔹 3. एम्बेडेड फाइल्स एक्सट्रैक्ट करना:
binwalk -e firmware.bin
_firmware.bin.extracted फोल्डर में निकालता है।🔹 4. मैट्रियोश्का (Recursive) एक्सट्रैक्शन:
binwalk -Me firmware.bin
🔹 5. डेटा कार्विंग - सिर्फ डेटा निकालना:
binwalk -D 'png:png' firmware.bin
🔹 6. ऑफसेट स्पेसिफाई करके एक्सट्रैक्ट करना:
binwalk -e --dd='.*' firmware.bin --offset=0x1000
🔹 7. सिग्नेचर डेटाबेस देखना:
binwalk --signature
🔹 8. एंट्रॉपी (Entropy) एनालिसिस:
binwalk -E firmware.bin
🔹 9. आउटपुट को फाइल में सेव करना:
binwalk firmware.bin > scan_result.txt
🔹 10. सिर्फ स्पेसिफिक फाइल टाइप निकालना:
binwalk -D 'zip:zip:unzip' firmware.bin
🎯 Binwalk के मुख्य फीचर्स:
- Signature Scanning: फाइल सिग्नेचर (magic bytes) से फाइल टाइप पहचानना
- File Carving: बाइनरी फाइल से एम्बेडेड फाइल्स निकालना
- Entropy Analysis: डेटा की एंट्रॉपी मापना (एन्क्रिप्शन/कंप्रेशन डिटेक्शन)
- Recursive Extraction: निकाली गई फाइल्स को फिर से स्कैन करना
- Disassembler Integration: ARM, MIPS, x86 डिसअसेंबलर के साथ इंटीग्रेशन
- Custom Signatures: कस्टम फाइल सिग्नेचर जोड़ना
🎯 Use Cases (उपयोग के तरीके)
- फर्मवेयर रिवर्स इंजीनियरिंग: राउटर, IoT डिवाइस, कैमरा फर्मवेयर से फाइल सिस्टम निकालना।
- IoT सिक्योरिटी ऑडिट: फर्मवेयर में बैकडोर, हार्डकोडेड क्रेडेंशियल्स, या संवेदनशील डेटा ढूँढना।
- डाटा रिकवरी: क्षतिग्रस्त फाइलों या डिस्क इमेज से डेटा निकालना।
- मैलवेयर एनालिसिस: मैलवेयर बाइनरी से एम्बेडेड पेलोड्स निकालना।
- फॉरेंसिक जांच: फोरेंसिक इमेज से छिपी हुई फाइल्स रिकवर करना।
⚙️ Key Features (मुख्य विशेषताएँ)
- ✔️ 100+ फाइल सिग्नेचर सपोर्ट (ZIP, TAR, GZIP, JPEG, PNG, ELF, PDF, etc.)
- ✔️ ऑटोमेटेड फाइल कार्विंग और एक्सट्रैक्शन
- ✔️ रिकर्सिव एक्सट्रैक्शन (मैट्रियोश्का)
- ✔️ एंट्रॉपी एनालिसिस (एन्क्रिप्टेड/कंप्रेस्ड डेटा डिटेक्शन)
- ✔️ कस्टम सिग्नेचर फाइल्स सपोर्ट
- ✔️ ARM, MIPS, PowerPC, x86 डिसअसेंबलर इंटीग्रेशन
- ✔️ फर्मवेयर इमेज (TRX, UBI, SquashFS, JFFS2, etc.) सपोर्ट
- ✔️ पायथन में लिखा, क्रॉस-प्लेटफॉर्म
- ✔️ ओपन-सोर्स और फ्री
📌 Binwalk से फर्मवेयर एनालिसिस की पूरी प्रक्रिया:
# 1. फर्मवेयर स्कैन करें
binwalk firmware.bin
# 2. एंट्रॉपी चेक करें (एन्क्रिप्शन/कंप्रेशन)
binwalk -E firmware.bin
# 3. सभी फाइल्स एक्सट्रैक्ट करें
binwalk -Me firmware.bin
# 4. एक्सट्रैक्टेड फाइल्स एनालिसिस करें
cd _firmware.bin.extracted
ls -la
file *
strings squashfs-root/etc/passwd
📌 Binwalk के सिग्नेचर उदाहरण:
- ZIP: PK (0x504B)
- GZIP: 1F 8B
- JPEG: FF D8 FF
- PNG: 89 50 4E 47
- ELF: 7F 45 4C 46
- SquashFS: hsqs, sqsh
- UBI: UBI#
📌 Binwalk vs Foremost:
- Binwalk: फर्मवेयर और एम्बेडेड डिवाइस पर फोकस, एंट्रॉपी एनालिसिस, रिकर्सिव एक्सट्रैक्शन
- Foremost: जनरल फाइल कार्विंग, सिंपल, फोरेंसिक डेटा रिकवरी
- अनुशंसा: IoT/फर्मवेयर एनालिसिस के लिए Binwalk, डिस्क फोरेंसिक के लिए Foremost।
🔗 Official Resources
- GitHub Repository: https://github.com/ReFirmLabs/binwalk
- Documentation: Binwalk Wiki
- Kali Linux Tools: Kali Binwalk Page
- Firmware Analysis Tutorials: Binwalk Tutorials
🔧 Related Tools (समान उपकरण)
- Foremost: फाइल कार्विंग टूल
- dd: डिस्क इमेजिंग टूल
- strings: बाइनरी से स्ट्रिंग्स निकालना
- firmware-mod-kit: फर्मवेयर मॉडिफिकेशन किट
- QEMU: एम्बेडेड फर्मवेयर इमुलेशन
- Ghidra: रिवर्स इंजीनियरिंग टूल
📌 Binwalk के लिए सुझाव:
- हमेशा
-Meका उपयोग करें (Recursive Extraction) - एंट्रॉपी ग्राफ (
-E) से एन्क्रिप्टेड या कंप्रेस्ड डेटा पहचानें - फर्मवेयर एनालिसिस से पहले
binwalk -vसे डिटेल्ड स्कैन करें - निकाली गई फाइल्स में
stringsऔरfileकमांड का उपयोग करें - SquashFS, JFFS2 फाइल सिस्टम के लिए विशेष टूल्स की जरूरत हो सकती है
⚠️ Important Note (सावधानी)
Binwalk एक शक्तिशाली फर्मवेयर एनालिसिस टूल है। इसका उपयोग केवल उन्हीं फाइल्स पर करें जिनकी आपको अनुमति हो। बिना अनुमति के फर्मवेयर रिवर्स इंजीनियरिंग करना कॉपीराइट और कानूनी उल्लंघन हो सकता है। हमेशा अपने खुद के डिवाइस, ओपन-सोर्स फर्मवेयर, या कानूनी रूप से अधिकृत प्रोजेक्ट पर ही प्रैक्टिस करें। Binwalk का उपयोग सीखने और सुरक्षा ऑडिट के लिए करें, न कि अनधिकृत रिवर्स इंजीनियरिंग के लिए।