← ブログに戻る

MFT パーサー ツール比較: MFTECmd、omerbenamram/mft、ブラウザ パーサー

· 読了 2 分

MFT パーサー とは、すべての NTFS ボリュームのルートにある Master File Table ($MFT) を読み、1,024 バイトのレコードを人間や下流のツールが使える形 — CSV、JSON、タイムライン、検索可能なインデックス — に変換するツールです。実務で重要なプロジェクトは 3 つあります。この記事は率直に比較し、どれをいつ選ぶべきかを示します。

MFTECmd (Eric Zimmerman)

MFTECmd はインシデント レスポンスの事実上の標準です。Windows 専用の .NET CLI で、無償で使え、$MFT$Boot$J($UsnJrnl:$J 変更ジャーナル)、$SDS($Secure のセキュリティ ディスクリプタ ストリーム)、$LogFile を解析します。出力は、Eric Zimmerman の他のツール(Timeline Explorer、KAPE、RECmd)が消費する bodyfile に近い レイアウトの CSV です。

使うべき時:

  • Windows の解析ワークステーションで作業している。
  • Timeline Explorer で開いて対話的にピボットできる CSV が欲しい。
  • KAPE を実行している — MFTECmd は MFT ターゲットにバンドルされているパーサーです。
  • 同じワークフロー内で $J の解析が必要。

避けるべき時: .NET ランタイムなしの macOS や Linux にいる、または別プログラムに解析処理を組み込みたい場合。

コンパニオン GUI の MFT Explorer は、$MFT をツリー ビューで対話的に閲覧できます。多くのアナリストは両方を使います — バッチ解析に MFTECmd、特定のレコードを追うときに MFT Explorer。

omerbenamram/mft (Rust クレート + CLI)

omerbenamram/mft クレートは、本サイトが使用するパーサー ライブラリです。Rust 依存関係(cargo add mft)としても、スタンドアロン CLI(mft_dump)としても提供されます。CLI は CSV または JSON を出力し、ライブラリはレコードの完全な構造をプログラムで使える形で公開します。

使うべき時:

  • MFT 解析を大きな Rust パイプライン、サーバー、または WebAssembly ターゲットに組み込みたい。
  • jq、OpenSearch、独自データベースにパイプで流すための JSON 出力が欲しい。
  • Linux か macOS で .NET をインストールしたくない。
  • パーサーを監査可能にしたい — コードは小さくイディオマティックな Rust で、テスト コーパスがリポジトリ内にあります。

避けるべき時: GUI と統合タイムライン ツールが付いた、ターンキーのアナリスト体験が欲しい場合。

このクレートは、WebAssembly にコンパイルされて トップ ページのブラウザ パーサー の裏側で動いているものです。

ブラウザ ベースの解析(このサイト)

このサイトのパーサーomerbenamram/mft クレートを WebAssembly にコンパイルし、Web Worker で実行します。$MFT ファイルをページにドロップすると、ページ送りと検索が可能なテーブルにレコードが現れます。アップロードはされず、バイナリはブラウザのメモリ内にとどまります。

使うべき時:

  • 何もインストールせず $MFT をさっと読みたい。
  • クラウド サービスへの証拠送信がポリシーで禁じられている。WebAssembly の解析はローカルで行われます — ファイルをドロップする前にネットワークを切断すれば検証できます。
  • フォレンジック ツールチェーンが入っていない同僚とトリアージ ビューを共有したい。
  • NTFS の構造を実演・教育する際にインタラクティブなサンドボックスが欲しい。

避けるべき時: ヘビーに使われたサーバーから取った数 GB の $MFT(メモリ モデルは線形にスケールします)、または広範な Eric Zimmerman パイプラインと統合する出力が必要な場合。

比較表

| 機能 | MFTECmd | omerbenamram/mft | ブラウザ パーサー | |---------|---------|------------------|----------------| | プラットフォーム | Windows (.NET) | Linux / macOS / Windows / WebAssembly | モダン ブラウザ全般 | | インストール | バイナリ 1 つ | cargo install またはダウンロード | 不要 | | 出力 | CSV (Timeline Explorer スキーマ) | CSV / JSON | 対話的なテーブル + CSV エクスポート | | $UsnJrnl:$J | はい | いいえ(別途 omerbenamram/usn クレート) | ブラウザ パーサーは $J ビューにリンク | | $LogFile | はい | いいえ | いいえ | | スクリプト化 | CLI のみ | ライブラリ + CLI | 不可(UI 駆動) | | プライバシー | ローカル | ローカル | ローカル(ネットワーク分離で検証可能) |

選び方

Windows ワークステーションでの通常の IR 業務には: MFTECmd。驚きの少ない経路で、KAPE と Timeline Explorer にスムーズに統合されます。

多数のディスクを処理し、Linux で動かし、JSON が欲しいパイプラインには: omerbenamram/mft。CLI は高速で、ライブラリは独自ツールに MFT 解析を加える最もきれいな方法です。

1 回限りのトリアージ、敵対的ネットワーク状況、教室での利用、フォレンジック マシンを持たない同僚への共有には: 本サイトの ブラウザ パーサー

3 つは補完的です。多くの経験豊富な検査官は、1 つに固執するのではなく、その場面に合うものを手に取ります。

外部リソース