View Issue Details

IDProjectCategoryView StatusLast Update
0009858Kali LinuxNew Tool Requestspublic2026-09-13 04:58
Reporternmatt0 Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
Status newResolutionopen 
Summary0009858: New tool request: moria (firmware identification and extraction)
Description

TOOL

Name: moria
Upstream: https://github.com/nmatt0/moria
License: MIT
Language: C++20 (CMake)
Latest release: v0.2.1 (tagged; prebuilt binaries for linux-x86_64/arm64 and macos-arm64, plus a .deb)
Runtime deps: zlib, liblzma, liblz4, libzstd only. No subprocess, no network calls.

WHAT IT DOES

moria identifies files and embedded content in firmware and IoT images and in
extracted rootfs trees, with confidence scores and sourced metadata as JSON.
Identification-first, and it also extracts, in-house and without sudo:

  • filesystems: SquashFS, ext2/3/4, F2FS, UBIFS (and UBI), JFFS2, cramfs,
    EROFS, romfs, YAFFS2, FAT, exFAT, NTFS, HFS+, XFS, btrfs, ISO9660
  • archives and containers: ZIP, tar, cpio, U-Boot uImage/FIT, Android boot
    and sparse images, VBF (Ford/Volvo ECU container)
  • reverses some known vendor payload obfuscation, carves raw byte ranges, and
    flags UPX-packed executables

WHY IT FITS KALI

Firmware and embedded/IoT assessment is core pentest work, and this is the
map-and-unpack step. moria complements binwalk: identification-first with
confidence tiers, in-house multi-filesystem extraction, and structured JSON
output that is easy to drive from scripts or an LLM tool caller. It is offline,
deterministic, and fuzzed.

PACKAGING (READY)

A debian/ directory is maintained in the upstream repo, and the release
workflow builds a .deb that is attached to every GitHub release:

  • debian/: https://github.com/nmatt0/moria/tree/master/debian
  • Prebuilt .deb (amd64 and arm64): on each release at
    https://github.com/nmatt0/moria/releases
  • Source/binary package name: moria-fw. Debian already ships a package named
    moria (the umoria roguelike), so the packaging name is disambiguated; the
    installed command stays /usr/bin/moria.
  • debhelper-compat (= 13), debian/rules uses the cmake buildsystem. The
    in-repo debian/ is generic/Debian-targeted (Maintainer: the author,
    distribution unstable), a ready starting point for the Kali house style
    (Maintainer: Kali Developers, distribution kali-dev). There is a
    debian/watch on the GitHub tags.
  • Builds cleanly with dpkg-buildpackage; lintian is clean apart from the
    expected non-archive-build notes (suite name and no ITP bug to close).

I am happy to maintain it as Uploader and keep it current with upstream
releases.

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2026-09-13 04:58 nmatt0 New Issue