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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
moria — IoT फर्मवेयर पहचान और निष्कर्षण | Kitploit
उपकरण/GitHubGitHub/nmatt0/moria
एम्बेडेड सिस्टम सुरक्षाIoT सुरक्षारिवर्स इंजीनियरिंगजानकारी एकत्र करनामालवेयर विश्लेषणडिजिटल फोरेंसिकउपयोगिताएँ और फ्रेमवर्कहार्डवेयर और IoT सुरक्षाबाइनरी विश्लेषणफर्मवेयर विश्लेषण
GitHub
3203926 दिन पहले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), प्रत्येक खोज पर ऑफ़सेट और विश्वास के साथ।

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

root@kitploit:~
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 पास करें।

root@kitploit:~
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 members without extracting
moria --broad <path>      # also load the ~2.5k general file-type signatures
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
  • आर्काइव और इमेज: ZIP, tar, cpio, ISO 9660, Android sparse, Android boot
  • कर्नेल और रैपर: U-Boot uImage, U-Boot FIT, स्टैंडअलोन gzip / xz / zstd / lz4 स्ट्रीम
  • फर्मवेयर पैकेज: RAE Systems / Honeywell RFP (सेक्शन टेबल; प्रत्येक सेक्शन को LZARI-डीकंप्रेस करता है)

सिग्नेचर

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

एक प्रारूप जोड़ने के लिए, signatures/ में एक .toml डालें। एक छोटा C++ वैलिडेटर केवल उन जाँचों के लिए आवश्यक है जिन्हें डिक्लेरेटिव लेयर व्यक्त नहीं कर सकती, जैसे CRC या क्रॉस-ब्लॉक पॉइंटर।

दायरा

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

लाइसेंस

MIT, LICENSE देखें।

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

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