← Retour au blog

Parseurs MFT : MFTECmd, omerbenamram/mft et navigateur

· Lecture 4 min

Un parseur MFT est un outil qui lit $MFT — la Master File Table à la racine de chaque volume NTFS — et transforme ses enregistrements de 1 024 octets en quelque chose qu'un humain ou un outil aval peut exploiter : du CSV, du JSON, une chronologie, un index recherchable. Trois projets comptent en pratique. Cet article les compare honnêtement et indique quand chacun est le bon choix.

MFTECmd (Eric Zimmerman)

MFTECmd est le standard de fait en réponse à incident. C'est un CLI .NET exclusif Windows, gratuit, qui analyse $MFT, $Boot, $J (le journal de changements $UsnJrnl:$J), $SDS (le flux de descripteurs de sécurité de $Secure) et $LogFile. La sortie est du CSV au format body-file attendu par les autres outils d'Eric Zimmerman (Timeline Explorer, KAPE, RECmd).

À utiliser quand :

  • Vous êtes sur un poste d'analyse Windows.
  • Vous voulez un CSV ouvrable dans Timeline Explorer pour pivoter de manière interactive.
  • Vous utilisez KAPE — MFTECmd est le parseur intégré à la cible MFT.
  • Vous avez besoin d'analyser $J dans le même workflow.

À éviter quand : vous êtes sur macOS ou Linux sans runtime .NET, ou vous voulez embarquer l'analyse dans un autre programme.

Un GUI compagnon, MFT Explorer, parcourt $MFT de manière interactive dans une vue arborescente. La plupart des analystes utilisent les deux : MFTECmd pour l'analyse en lot, MFT Explorer quand ils doivent traquer un enregistrement précis.

omerbenamram/mft (crate Rust + CLI)

Le crate omerbenamram/mft est la bibliothèque de parsing utilisée par ce site. Il est livré à la fois comme dépendance Rust (cargo add mft) et comme CLI autonome (mft_dump). Le CLI émet du CSV ou du JSON ; la bibliothèque expose la structure complète de l'enregistrement pour un usage programmatique.

À utiliser quand :

  • Vous voulez embarquer l'analyse MFT dans un pipeline Rust plus large, un serveur ou une cible WebAssembly.
  • Vous voulez du JSON pour le piper dans jq, OpenSearch ou une base personnalisée.
  • Vous êtes sous Linux ou macOS et ne voulez pas installer .NET.
  • Vous voulez un parseur auditable — le code est petit, du Rust idiomatique, et le corpus de tests est dans le dépôt.

À éviter quand : vous voulez une expérience analyste clé en main avec un GUI et un outillage de chronologie intégré.

Le crate est ce qui tourne, compilé en WebAssembly, derrière le parseur navigateur de la page d'accueil.

Analyse dans le navigateur (ce site)

Le parseur de ce site prend le crate omerbenamram/mft, le compile en WebAssembly et l'exécute dans un Web Worker. Vous déposez un fichier $MFT sur la page et les enregistrements apparaissent dans une table paginée et recherchable. Rien n'est envoyé ; le binaire reste en mémoire dans votre navigateur.

À utiliser quand :

  • Vous voulez lire rapidement un $MFT sans rien installer.
  • La politique interdit d'envoyer les preuves à un service cloud. L'analyse WebAssembly se déroule localement — vous pouvez vérifier en coupant votre réseau avant de déposer le fichier.
  • Vous voulez partager une vue de triage avec un collègue qui n'a pas de chaîne d'outils forensique installée.
  • Vous démontrez ou enseignez la structure NTFS et voulez un bac à sable interactif.

À éviter quand : vous avez un $MFT de plusieurs gigaoctets venu d'un serveur très utilisé (le modèle en mémoire passe à l'échelle linéairement) ou vous avez besoin de sorties intégrées à un pipeline Eric Zimmerman plus large.

Comparaison

| Fonction | MFTECmd | omerbenamram/mft | Parseur navigateur | |----------|---------|------------------|--------------------| | Plateforme | Windows (.NET) | Linux / macOS / Windows / WebAssembly | N'importe quel navigateur moderne | | Installation | Un binaire | cargo install ou téléchargement | Aucune | | Sortie | CSV (schéma Timeline Explorer) | CSV / JSON | Table interactive + export CSV | | $UsnJrnl:$J | Oui | Non (crate séparée omerbenamram/usn) | Le parseur navigateur lie une vue $J | | $LogFile | Oui | Non | Non | | Scriptable | CLI seulement | Bibliothèque + CLI | Non (piloté par l'UI) | | Vie privée | Local | Local | Local (vérifiable par isolation réseau) |

Lequel choisir ?

Pour une intervention IR routinière sur un poste Windows : MFTECmd. C'est le chemin de moindre surprise, qui s'intègre à KAPE et Timeline Explorer.

Pour un pipeline qui ingère beaucoup de disques, tourne sous Linux ou veut du JSON : omerbenamram/mft. Le CLI est rapide et la bibliothèque est le moyen le plus propre d'ajouter l'analyse MFT à votre propre outil.

Pour un triage ponctuel, une situation de réseau hostile, une salle de classe ou un collègue sans machine forensique : le parseur navigateur de ce site.

Les trois sont complémentaires. La plupart des examinateurs expérimentés saisissent celui qui colle au moment plutôt que de s'engager sur un seul.

Ressources externes