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 つに固執するのではなく、その場面に合うものを手に取ります。