Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
moria — IoT-Firmware-Identifikation und -Extraktion | Kitploit
Tools/GitHubGitHub/nmatt0/moria
Embedded-System-SicherheitIoT-SicherheitReverse EngineeringInformationsbeschaffungMalware-AnalyseDigitale ForensikDienstprogramme & FrameworksHardware- & IoT-SicherheitBinäranalyseFirmware-Analyse
GitHub
320392vor 6 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
nmatt0/moria

moria

IoT-Firmware-Identifikation und -Extraktion

Repository anzeigen

moria

Identifikation und Extraktion von IoT-Firmware

moria identifiziert Dateien und die in Firmware und IoT-Images eingebetteten Strukturen (Dateisysteme, Kernel, Bootloader, Archive, Schlüssel) und entpackt das meiste, was es findet, ohne Root-Rechte. Es meldet jeden Fund mit einem Byte-Offset, einem Typ und einem Konfidenzwert und spricht sauberes JSON, sodass Skripte und LLM-Agenten es genauso einfach steuern können wie Menschen.

Warum moria

  • Extrahiert eine breite Palette von Dateisystemen im Prozess, ohne sudo: SquashFS, ext2/3/4, F2FS, XFS, btrfs, HFS+, NTFS, EROFS, JFFS2, UBIFS und mehr.
  • Standardmäßig rekursiv. Ein gzip-verpacktes SquashFS in einem UBI-Volume wird vollständig bis nach unten entpackt.
  • Erkennt gepackte Executables. Erkennt UPX-gepackte ELF/PE/Mach-O über verschiedene Architekturen hinweg anhand des checksummenverifizierten PackHeader-Trailers (Format, Methode und Größen) und markiert Stubs, deren Header genullt oder verändert wurde, um upx -d zu umgehen.
  • Deterministisch. Dieselbe Eingabe erzeugt immer dieselbe Ausgabe; die Konfliktauflösung hat keinen zufälligen Tie-Break.
  • Sicher bei feindseliger Eingabe. Jeder Lesevorgang ist grenzgeprüft, jeder Schreibvorgang läuft über openat + O_NOFOLLOW (kein Path-Traversal oder Symlink-Escape), und die Dekompression ist gegen Bomben begrenzt.
  • Identifikation zuerst. Standardmäßig ein lesbarer Baum, JSON (-j) für Tools, mit Offsets und Konfidenz bei jedem Fund.

Build & Install

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

Der Build benötigt cmake, einen C++20-Compiler und die Entwicklungsbibliotheken zlib, liblzma, lz4 und zstd (die von --extract verwendeten Dekompressoren). Unter Debian/Ubuntu: sudo apt install cmake g++ zlib1g-dev liblzma-dev liblz4-dev libzstd-dev. Um ohne eine davon zu bauen (ein minimaler oder nur identifizierender Build), konfigurieren Sie mit -DMORIA_OPTIONAL_CODECS=ON, und der fehlende Codec wird einfach deaktiviert.

Die moria-Binärdatei ist in sich geschlossen: Alle Signatursätze sind zur Build-Zeit eingebettet, sodass die Binärdatei überall funktioniert, ohne dass etwas daneben installiert ist (cp build/moria ~/.local/bin reicht aus, und eine heruntergeladene Release-Binärdatei läuft einfach). Um externe Signaturen anstelle der eingebetteten zu verwenden (um beispielsweise eine neue .toml ohne Neukompilierung zu testen), übergeben Sie --sigs DIR oder setzen Sie $MORIA_SIGDIR.

Verwendung

Die Ausgabe ist standardmäßig menschenlesbar. Übergeben Sie -j für JSON.

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

Extraktion

-e entpackt erkannte Formate unter <file>.extracted/, ein Verzeichnis pro Region (0x<offset>-<type>/), plus eine manifest.json, die Offsets auf Pfade abbildet. Es rekursiert automatisch in verschachtelte Container und baut UBI-Images Volume für Volume neu auf. Schutzmechanismen (--depth, --max-files, --max-bytes und eine Obergrenze für das Dekompressionsverhältnis) begrenzen feindselige Eingabe; ein ausgelöster Schutz stoppt diesen Zweig und liefert dennoch alles Wiederhergestellte zurück.

Im Prozess entpackt, ohne externe Tools und ohne sudo:

  • Dateisysteme: SquashFS, ext2/3/4, F2FS, FAT12/16/32, exFAT, NTFS, HFS+/HFSX, XFS, btrfs, JFFS2, UBI/UBIFS, romfs, YAFFS2, cramfs, EROFS
  • Archive und Images: ZIP, tar, cpio, ISO 9660, Android sparse, Android boot
  • Kernel und Wrapper: U-Boot uImage, U-Boot FIT, eigenständige gzip- / xz- / zstd- / lz4-Streams
  • Firmware-Pakete: RAE Systems / Honeywell RFP (Abschnittstabelle; LZARI-dekomprimiert jeden Abschnitt)

Signaturen

  • signatures/ ist der handgeschriebene Kern: Firmware-Dateisysteme, Container, Kernel und gängige Formate, jeweils mit struktureller Validierung.
  • signatures-firmware/ enthält Hersteller-Firmware-Container-Magics und wird standardmäßig geladen.
  • signatures-generated/ enthält ~2,5k allgemeine Dateityp-Magics, die aus der Magic-Datenbank von file(1) abgeleitet sind, und wird nur mit --broad geladen.

Um ein Format hinzuzufügen, legen Sie eine .toml in signatures/ ab. Ein kleiner C++-Validator ist nur für Prüfungen nötig, die die deklarative Ebene nicht ausdrücken kann, wie CRCs oder blockübergreifende Zeiger.

Umfang

moria führt strukturelle Identifikation, Extraktion und Carving durch. Secret-/Credential-Scanning, SBOM-, CVE- und Lizenzanalyse sind ein separates Tool (mithril).

Lizenz

MIT, siehe LICENSE.

Einige On-Disk-Format-Behandlungen sind eine saubere Neuimplementierung der Algorithmen anderer Open-Source-Projekte, unabhängig gegen morias eigene I/O-Schicht geschrieben (kein Quellcode kopiert): der UCL/NRV2B-Dekompressor und CTO-Unfilter aus UPX/UCL (GPL-2.0, nur Algorithmen), und das Metadata-Commit- und CTZ-Skip-List-Layout von littlefs (BSD-3-Clause), und das Page-/Object-Layout von SPIFFS (MIT).

Tool herunterladen