← Torna al blog

Parser MFT: MFTECmd, omerbenamram/mft e nel browser

· 4 min di lettura

Un parser MFT è uno strumento che legge $MFT — la Master File Table alla radice di ogni volume NTFS — e trasforma i suoi record da 1.024 byte in qualcosa che un umano o uno strumento a valle possa sfruttare: CSV, JSON, una timeline, un indice ricercabile. Tre progetti contano in pratica. Questo articolo li confronta onestamente e indica quando ognuno è la scelta giusta.

MFTECmd (Eric Zimmerman)

MFTECmd è lo standard di fatto nella risposta a incidenti. È un CLI .NET esclusivo Windows, gratuito, che analizza $MFT, $Boot, $J (il change journal $UsnJrnl:$J), $SDS (il flusso di descrittori di sicurezza da $Secure) e $LogFile. L'output è CSV nel layout body-file atteso dagli altri strumenti di Eric Zimmerman (Timeline Explorer, KAPE, RECmd).

Da usare quando:

  • Siete su una workstation di analisi Windows.
  • Volete un CSV apribile in Timeline Explorer per fare pivot in modo interattivo.
  • State usando KAPE — MFTECmd è il parser integrato nel target MFT.
  • Avete bisogno di analizzare $J nello stesso workflow.

Da evitare quando: siete su macOS o Linux senza runtime .NET, o volete integrare l'analisi in un altro programma.

Un GUI compagno, MFT Explorer, naviga $MFT in modo interattivo in una vista ad albero. La maggior parte degli analisti usa entrambi: MFTECmd per l'analisi batch, MFT Explorer quando devono inseguire un record specifico.

omerbenamram/mft (crate Rust + CLI)

Il crate omerbenamram/mft è la libreria di parsing usata da questo sito. È disponibile sia come dipendenza Rust (cargo add mft) sia come CLI autonomo (mft_dump). Il CLI emette CSV o JSON; la libreria espone la struttura completa del record per un uso programmatico.

Da usare quando:

  • Volete integrare il parsing MFT in un pipeline Rust più ampio, un server o un target WebAssembly.
  • Volete output JSON da convogliare in jq, OpenSearch o un database personalizzato.
  • Siete su Linux o macOS e non volete installare .NET.
  • Volete un parser auditabile — il codice è piccolo, Rust idiomatico, e il corpus di test è nel repo.

Da evitare quando: volete un'esperienza analista chiavi in mano con GUI e strumentazione di timeline integrata.

Il crate è ciò che gira, compilato in WebAssembly, dietro il parser nel browser della homepage.

Analisi nel browser (questo sito)

Il parser di questo sito prende il crate omerbenamram/mft, lo compila in WebAssembly e lo esegue in un Web Worker. Trascinate un file $MFT sulla pagina e i record appaiono in una tabella paginata e ricercabile. Niente viene caricato; il binario resta nella memoria del vostro browser.

Da usare quando:

  • Volete leggere rapidamente un $MFT senza installare nulla.
  • Le policy vietano di inviare prove a un servizio cloud. L'analisi WebAssembly avviene localmente — potete verificarlo disconnettendo la rete prima di trascinare il file.
  • Volete condividere una vista di triage con un collega che non ha una toolchain forense installata.
  • State facendo una dimostrazione o insegnando la struttura NTFS e volete un sandbox interattivo.

Da evitare quando: avete un $MFT di diversi gigabyte proveniente da un server molto utilizzato (il modello in memoria scala linearmente) o avete bisogno di output integrati in un pipeline Eric Zimmerman più ampio.

Confronto

| Caratteristica | MFTECmd | omerbenamram/mft | Parser browser | |----------------|---------|------------------|----------------| | Piattaforma | Windows (.NET) | Linux / macOS / Windows / WebAssembly | Qualsiasi browser moderno | | Installazione | Un binario | cargo install o download | Nessuna | | Output | CSV (schema Timeline Explorer) | CSV / JSON | Tabella interattiva + export CSV | | $UsnJrnl:$J | Sì | No (crate separato omerbenamram/usn) | Il parser browser collega una vista $J | | $LogFile | Sì | No | No | | Scriptabile | Solo CLI | Libreria + CLI | No (guidato dall'UI) | | Privacy | Locale | Locale | Locale (verificabile per isolamento di rete) |

Quale scegliere?

Per un intervento IR di routine su una workstation Windows: MFTECmd. È il percorso di minor sorpresa e si integra con KAPE e Timeline Explorer.

Per un pipeline che ingerisce molti dischi, gira su Linux o vuole JSON: omerbenamram/mft. Il CLI è veloce e la libreria è il modo più pulito per aggiungere il parsing MFT al vostro strumento.

Per un triage occasionale, una situazione di rete ostile, un'aula o un collega senza macchina forense: il parser browser di questo sito.

I tre sono complementari. La maggior parte degli esaminatori esperti afferra quello che si adatta al momento invece di impegnarsi su uno solo.

Risorse esterne