NTFS の USN ジャーナルとは?
USN (Update Sequence Number) ジャーナルは、NTFS がボリューム上のファイル作成、削除、名前変更、メタデータ変更ごとに維持する変更履歴です。代替データストリーム \$Extend\$UsnJrnl:$J に格納されており、Windows フォレンジックにおけるタイムライン証拠の最も豊富な情報源の一つです。
NTFS USN ジャーナルの完全ガイドを読む →Windows NTFS の USN ジャーナル ($UsnJrnl:$J) をブラウザ内で完全に解析。ファイルは端末から外に出ません。
サンプル: 架空の侵害事案 (ホスト FIN-WKS-07) の合成ファイルです。実データは含みません。
ファイルは端末から外に出ません。
$J は隠しファイルでロックされた NTFS ストリームです。エクスプローラー、copy、robocopy では空のファイルかアクセスエラーになります。最初のタブの手順なら約 2 分で実データを取得できます。
$J (+ $MFT) を収集必要なもの: ホストまたは USB ドライブに展開した KAPE (Kroll 提供、無料) と、KAPE フォルダーで管理者として開いたコンソール。
kape.exe --tsource C: --tdest C:\triage --target $J,$MFT$J が変数として解釈されます).\kape.exe --tsource C: --tdest C:\triage --target '$J,$MFT'結果: C:\triage\C\$Extend\$J / C:\triage\C\$MFT。C:\triage\C フォルダー、またはその ZIP をここにドロップしてください。
kape.exe --tsource C: --tdest C:\triage --target KapeTriage複合ターゲット KapeTriage には $J と $MFT が含まれています。出力フォルダーを ZIP にしてドロップしてください。読み込まれるのはジャーナルと $MFT だけで、その他は無視されます。
Velociraptor Triage プロジェクトの Windows.Triage.Targets アーティファクト (旧リリースでは Windows.KapeFiles.Targets) でオフラインコレクターを作成し、J と MFT のターゲット (または KapeTriage) を選択します。ホスト上で管理者として実行し、できたコレクション ZIP をそのままここにドロップしてください。
Windows.Forensics.Usn はエンドポイント上でジャーナルを解析するもので、出力はレコードの表です。このパーサーが読む生の $J ではありません。
File → Add Evidence Item → Image File を選び、.E01 / .dd を開きます。[root] → $Extend → $UsnJrnl まで展開します。$J の行 ($Max ではなく) を右クリック → Export Files…。[root] → $MFT も同じ手順でエクスポートします。読み取り専用でマウントし、マウントしたドライブ文字 (ここでは E:) に対して KAPE コマンドを実行します:
kape.exe --tsource E: --tdest C:\triage --target $J,$MFT$Extend (MFT レコード 11) を一覧表示し、$UsnJrnl:$J の前に表示されるアドレス (例: 64-128-4) を控えますfls image.dd 11 | grep UsnJrnl$J を抽出: <address> をそのアドレスに置き換えますicat image.dd <address> > UsnJrnl-J.bin$MFT (レコード 0) を抽出icat image.dd 0 > MFT.bin単一ボリュームではなくディスク全体のイメージの場合は、各コマンドに -o とパーティションの開始セクター (mmls image.dd で確認) を追加します。その後、2 つの .bin ファイルをまとめてここにドロップしてください。
$J ストリーム)。どの Windows バージョンでも同じパスですC:\$Extend\$UsnJrnl:$J\$Extend\$UsnJrnl:$J$MFT (任意、同じボリューム): ファイル名だけの表示をフルパスにしますC:\$MFT$J と $MFT をまとめて、またはそのフォルダーや ZIP (7z / RAR / gzip は不可) をドロップしてください。複数ボリュームを含むコレクションでは開くジャーナルを選べます。$Max は認識されてスキップされます。
fsutil usn queryjournal C:Maximum Size が 0 でなければジャーナルは有効です。fsutil がジャーナルは無効と報告した場合、そのボリュームには収集するものがありません。
copy、robocopy ではジャーナルは取得できません。$J には Raw NTFS リーダー (上記のツール) と、稼働中のホストでは管理者権限が必要です。$J ではなく $Max です。fsutil usn readjournal の出力はテキストで、ジャーナルではありません。$J の先頭に大量のゼロが続くのは正常です。トリアージのために
実績ある Rust 製パーサーを WebAssembly に移植し、USN ジャーナルに実際に投げかける問いのために設計したワークスペースに組み込みました。
活動のピークがひと目でわかり、バーをクリックするとその時間帯にテーブルを絞り込めます。
ボリュームの $MFT を追加すると、各レコードにファイル名だけでなく解決済みのパスが付きます。
作成・名前変更・上書き・削除をワンクリックで。テキストや時間範囲のフィルターと組み合わせ可能。
暗号化処理の特徴である DataOverwrite + RenameNewName の持続的な急増を警告します。
絞り込んだ内容をそのままエクスポート — Timeline Explorer、SIEM、mactime へ。
解析中もレコードが順次表示され、仮想化レンダリングでテーブルは快適なままです。
すべての解析はフィルターごとこのブラウザに保存されます。名前を付けて、明日続きから再開できます。
KAPE や Velociraptor の ZIP、またはフォルダーをドロップ。$J と $MFT をボリュームごとに見つけて対応付け、使えないファイルは理由を表示します。
使い方
KAPE、FTK Imager、RawCopy で \$Extend\$UsnJrnl:$J を抽出。フルパスが必要なら $MFT も。
パーサーはお使いの端末の Web Worker で動作します。アップロードもログもありません。
絞り込み、タイムラインでピボットし、任意のレコードを開いて必要な範囲をエクスポート。
USN (Update Sequence Number) ジャーナルは、NTFS がボリューム上のファイル作成、削除、名前変更、メタデータ変更ごとに維持する変更履歴です。代替データストリーム \$Extend\$UsnJrnl:$J に格納されており、Windows フォレンジックにおけるタイムライン証拠の最も豊富な情報源の一つです。
NTFS USN ジャーナルの完全ガイドを読む →インシデント対応、侵入タイムラインの再構築、ランサムウェア解析、内部不正調査など、ファイルが削除された後でもファイル活動の履歴が必要なあらゆる場面で活用できます。
ジャーナルファイルにはボリューム上のあらゆる操作の痕跡が記録されており、本質的に機微な情報です。本ツールは WebAssembly 製のパーサを直接お使いの端末に配信します。ファイルは当方のサーバには到達せず、ログに残るものはありません。