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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
moria — IoT फर्मवेयर पहचान और निष्कर्षण | Kitploit
उपकरण/GitHubGitHub/nmatt0/moria
एम्बेडेड सिस्टम सुरक्षाIoT सुरक्षारिवर्स इंजीनियरिंगजानकारी एकत्र करनामालवेयर विश्लेषणडिजिटल फोरेंसिकउपयोगिताएँ और फ्रेमवर्कहार्डवेयर और IoT सुरक्षाबाइनरी विश्लेषणफर्मवेयर विश्लेषण
GitHub
422561421 दिन पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

moria

IoT फर्मवेयर पहचान और निष्कर्षण

रिपॉजिटरी देखें

moria

IoT फर्मवेयर पहचान और निष्कर्षण

moria फर्मवेयर और IoT इमेजों के अंदर सन्निहित फ़ाइलों और संरचनाओं (फ़ाइलसिस्टम, कर्नेल, बूटलोडर, आर्काइव, कुंजियाँ) की पहचान करता है और जो कुछ भी पाता है उसका अधिकांश भाग बिना root के अनपैक कर देता है। यह प्रत्येक निष्कर्ष को बाइट ऑफ़सेट, प्रकार और एक विश्वास स्कोर के साथ रिपोर्ट करता है, और यह साफ़-सुथरा JSON बोलता है ताकि स्क्रिप्ट और LLM एजेंट इसे उतनी ही आसानी से चला सकें जितनी आसानी से लोग चला सकते हैं।

moria क्यों

  • sudo के बिना, इन-प्रोसेस फ़ाइलसिस्टम की एक विस्तृत श्रृंखला निकालता है: SquashFS, ext2/3/4, F2FS, XFS, btrfs, HFS+, NTFS, EROFS, JFFS2, UBIFS, और अधिक।
  • डिफ़ॉल्ट रूप से पुनरावर्ती। UBI वॉल्यूम के अंदर gzip-लिपटा SquashFS पूरी तरह से नीचे तक अनपैक होता है।
  • पैक किए गए निष्पादन योग्य फ़ाइलों को चिह्नित करता है। चेकसम-सत्यापित PackHeader ट्रेलर (फ़ॉर्मेट, विधि और आकार) से सभी आर्किटेक्चरों में UPX-पैक किए गए ELF/PE/Mach-O का पता लगाता है, और उन स्टब्स को भी चिह्नित करता है जिनका हेडर upx -d को विफल करने के लिए शून्य या बदल दिया गया था।
  • नियतात्मक। एक ही इनपुट हमेशा एक ही आउटपुट उत्पन्न करता है; विरोध समाधान में कोई यादृच्छिक टाई-ब्रेक नहीं है।
  • शत्रुतापूर्ण इनपुट पर सुरक्षित। प्रत्येक पठन सीमा-जाँचित है, प्रत्येक लेखन openat + O_NOFOLLOW के माध्यम से होता है (कोई पथ-भ्रमण या सिमलिंक एस्केप नहीं), और डीकंप्रेशन बम के विरुद्ध सीमाबद्ध है।
  • पहचान-प्रथम। डिफ़ॉल्ट रूप से एक पठनीय ट्री, टूल्स के लिए JSON (-j), प्रत्येक निष्कर्ष पर ऑफ़सेट और विश्वास के साथ।

बिल्ड और इंस्टॉल

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j
cmake --install build --prefix ~/.local     # or /usr/local (needs sudo)

बिल्ड के लिए cmake, एक C++20 कंपाइलर, और zlib, liblzma, lz4, तथा zstd डेवलपमेंट लाइब्रेरीज़ की आवश्यकता होती है (ये वे डीकंप्रेसर हैं जिनका उपयोग --extract द्वारा किया जाता है)। Debian/Ubuntu पर: sudo apt install cmake g++ zlib1g-dev liblzma-dev liblz4-dev libzstd-dev। किसी एक के बिना बिल्ड करने के लिए (एक न्यूनतम या केवल-पहचान वाला बिल्ड), -DMORIA_OPTIONAL_CODECS=ON के साथ कॉन्फ़िगर करें और अनुपस्थित कोडेक बस अक्षम हो जाता है।

moria बाइनरी स्व-निहित है: सभी सिग्नेचर सेट बिल्ड समय पर एम्बेड किए जाते हैं, इसलिए बाइनरी कहीं भी काम करती है और इसके साथ कुछ भी इंस्टॉल करने की आवश्यकता नहीं होती (cp build/moria ~/.local/bin पर्याप्त है, और डाउनलोड की गई रिलीज़ बाइनरी सीधे चल जाती है)। एम्बेड किए गए सिग्नेचर के बजाय बाहरी सिग्नेचर का उपयोग करने के लिए (मान लीजिए, बिना रीबिल्ड किए एक नई .toml का परीक्षण करने के लिए), --sigs DIR पास करें या $MORIA_SIGDIR सेट करें।

उपयोग

आउटपुट डिफ़ॉल्ट रूप से मानव-पठनीय होता है। JSON के लिए -j पास करें।

moria <file>               # identify: a findings tree with offsets, types, and confidence
moria <dir>                # scan a tree: a type summary plus the notable files
moria -j <file>            # JSON, for tools and agents
moria -e <file>            # extract to <file>.extracted/   (-C DIR to choose the output dir)
moria -c <file>            # carve raw byte ranges to <file>.carved/ (no parsing)
moria -E <file>            # entropy pass: flag unidentified / possibly-encrypted regions
moria --list <archive>     # list tar/cpio/zip/cab/CE-ROM members without extracting
moria --broad <path>       # also load the ~2.5k general file-type signatures
moria --unpack-executables # unpack executables inside other extracted output (cfbf/msi files)
moria --help

निष्कर्षण

-e मान्यता प्राप्त प्रारूपों को <file>.extracted/ के अंतर्गत खोलता है, प्रत्येक क्षेत्र के लिए एक निर्देशिका (0x<offset>-<type>/), साथ ही एक manifest.json जो ऑफ़सेट को पथों से मैप करता है। यह स्वचालित रूप से नेस्टेड कंटेनरों में पुनरावृत्ति करता है और UBI इमेजों को वॉल्यूम-दर-वॉल्यूम पुनर्निर्मित करता है। गार्ड (--depth, --max-files, --max-bytes, और एक डीकंप्रेशन-अनुपात सीमा) शत्रुतापूर्ण इनपुट को सीमित करते हैं; कोई गार्ड ट्रिगर होने पर वह शाखा रुक जाती है और फिर भी जो कुछ भी पुनर्प्राप्त हुआ है वह लौटा दिया जाता है।

इन-प्रोसेस अनपैक किया गया, कोई बाहरी टूल नहीं और कोई sudo नहीं:

  • फ़ाइलसिस्टम: SquashFS, ext2/3/4, F2FS, FAT12/16/32, exFAT, NTFS, HFS+/HFSX, XFS, btrfs, JFFS2, UBI/UBIFS, romfs, YAFFS2, cramfs, EROFS, ReiserFS
  • आर्काइव और इमेजें: ZIP, tar, cpio, MS-CAB (stored/MSZIP/LZX), CFBF कंपाउंड फ़ाइलें / Windows Installer .msi, ISO 9660, Android sparse, Android boot
  • कर्नेल और रैपर: U-Boot uImage, U-Boot FIT, Windows CE XIP ROM (nk.bin / .cos), स्टैंडअलोन gzip / xz / zstd / lz4 स्ट्रीम, Ingenic jzlzma (हार्डवेयर LZ77)
  • फ़र्मवेयर पैकेज: RAE Systems / Honeywell RFP (सेक्शन तालिका; प्रत्येक सेक्शन को LZARI-डीकंप्रेस करता है); Artosyn OTRA (AR8030 / VT4 / VR04; SHA-256-सत्यापित, प्रत्येक पार्टीशन को LZO1X-डीकंप्रेस करता है, या फ्लैट इमेजों पर कच्चे फ़्लैश बॉडी को उजागर करता है)
  • कॉन्फ़िगरेशन स्टोर: U-Boot environment, ESP32 NVS, Windows CE रजिस्ट्री हाइव्स (.hv)

सिग्नेचर

  • signatures/ हस्तलिखित कोर है: फ़र्मवेयर फ़ाइलसिस्टम, कंटेनर, कर्नेल, और सामान्य प्रारूप, प्रत्येक संरचनात्मक सत्यापन के साथ।
  • signatures-firmware/ वेंडर फ़र्मवेयर-कंटेनर मैजिक रखता है और डिफ़ॉल्ट रूप से लोड होता है।
  • signatures-generated/ में file(1) के मैजिक डेटाबेस से व्युत्पन्न लगभग 2.5k सामान्य फ़ाइल-प्रकार मैजिक हैं और यह केवल --broad के साथ लोड होता है।

किसी प्रारूप को जोड़ने के लिए, signatures/ में एक .toml डालें। एक छोटा C++ वैलिडेटर केवल उन जाँचों के लिए आवश्यक है जिन्हें डिक्लेरेटिव लेयर व्यक्त नहीं कर सकती, जैसे CRC या क्रॉस-ब्लॉक पॉइंटर। फ़ील्ड सेमांटिक्स (magic_offset, magic endianness, short signatures, soft constraints, वैलिडेटर कॉन्ट्रैक्ट) का दस्तावेज़ीकरण SIGAUTHORING.md में है।

दायरा

moria संरचनात्मक पहचान, निष्कर्षण, और कार्विंग करता है। सीक्रेट/क्रेडेंशियल स्कैनिंग, SBOM, CVE, और लाइसेंस विश्लेषण एक अलग टूल है (mithril)।

लाइसेंस

MIT, देखें LICENSE।

कुछ ऑन-डिस्क प्रारूप प्रबंधन अन्य ओपन-सोर्स परियोजनाओं में मौजूद एल्गोरिदम का एक स्वच्छ पुनःकार्यान्वयन है, जो moria की अपनी I/O लेयर के विरुद्ध स्वतंत्र रूप से लिखा गया है (कोई स्रोत प्रतिलिपि नहीं): UPX/UCL से UCL/NRV2B डीकंप्रेसर और CTO अनफ़िल्टर (GPL-2.0, केवल एल्गोरिदम), और littlefs का मेटाडेटा-कमिट और CTZ स्किप-लिस्ट लेआउट (BSD-3-Clause), और SPIFFS का पेज/ऑब्जेक्ट लेआउट (MIT)।

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