performing-windows-artifact-analysis-with-eric-zimmerman-tools について
デジタルフォレンジック担当者やインシデント対応チーム向けの Windows アーティファクト分析スキルです。EZ Tools と KAPE で収集・解析し、CSV を Timeline Explorer や SIEM で確認する手順を示します。
主な機能
- 01KAPE によるアーティファクト収集と処理
- 02NTFS、レジストリ、イベントログの解析
- 03Prefetch、ショートカット、ジャンプリストの分析
- 04構造化データの CSV 出力
- 05Timeline Explorer でのタイムライン絞り込み
活用シーン
- 01マルウェア実行の証拠調査
- 02データ持ち出しに関する活動の分析
- 03横展開とログオンイベントの調査
- 04タイムスタンプ比較による改ざんの検出
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill performing-windows-artifact-analysis-with-eric-zimmerman-toolsインストール後、Claude Code で/performing-windows-artifact-analysis-with-eric-zimmerman-toolsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSEassets/template.mdreferences/api-reference.mdstandards.mdworkflows.mdscripts/agent.pyprocess.py詳細
Eric Zimmerman Tools による Windows アーティファクト分析
概要
Eric Zimmerman の EZ Tools スイートは、Windows のデジタルフォレンジック調査における世界標準となっている、オープンソースのフォレンジックユーティリティ群です。元 FBI 捜査官で、現在は SANS の講師を務める人物によって開発されたこれらのツールは、Master File Table($MFT)、レジストリハイブ、プリフェッチファイル、イベントログ、ショートカット(LNK)ファイル、ジャンプリストなど、重要な Windows アーティファクトを解析します。このスイートは KAPE(Kroll Artifact Parser and Extractor)と連携し、アーティファクトの収集と処理を自動化します。構造化された CSV 出力を生成し、Timeline Explorer に取り込んで視覚的に分析できます。EZ Tools は、世界中の法執行機関、企業のインシデント対応担当者、フォレンジックコンサルタントに広く利用されています。
使用する場面
- Eric Zimmerman Tools を使用して Windows アーティファクト分析を行うセキュリティ評価を実施する場合
- 関連するセキュリティイベントに対するインシデント対応手順に従う場合
- 定期的なセキュリティテストや監査活動を実施する場合
- 実地テストを通じてセキュリティ制御を検証する場合
前提条件
- Windows 10/11 または Windows Server 2016 以降を搭載した分析用ワークステーション
- .NET 6 Runtime がインストールされていること(EZ Tools v2.x 以降で必須)
- 分析用ワークステーションの管理者権限
- 対象システムのフォレンジックディスクイメージまたはトリアージ収集データ
- 8 GB 以上の RAM(大規模なデータセットには 16 GB を推奨)
- NTFS ファイルシステムの構造と Windows の内部構造に関する知識
ツールスイートのコンポーネント
KAPE(Kroll Artifact Parser and Extractor)
KAPE は、アーティファクトの収集(Targets)と処理(Modules)を自動化する主要なオーケストレーションツールです。設定ファイル(.tkape および .mkape)を使用して、収集するアーティファクトと、それらに対して実行する EZ Tools を定義します。
インストールとセットアップ:
# Download KAPE from https://www.kroll.com/en/services/cyber-risk/incident-response-litigation-support/kroll-artifact-parser-extractor-kape
# Extract to C:\Tools\KAPE
# Update KAPE targets and modules
C:\Tools\KAPE\gkape.exe # GUI version
C:\Tools\KAPE\kape.exe # CLI version
# Sync latest EZ Tools binaries
C:\Tools\KAPE\Get-KAPEUpdate.ps1
KAPE による収集と処理の実行:
# Collect artifacts from E: drive (mounted forensic image) and process with EZ Tools
kape.exe --tsource E: --tdest C:\Cases\Case001\Collection --target KapeTriage --mdest C:\Cases\Case001\Processed --module !EZParser
# Collect specific artifact categories
kape.exe --tsource E: --tdest C:\Cases\Case001\Collection --target FileSystem,RegistryHives,EventLogs --mdest C:\Cases\Case001\Processed --module MFTECmd,RECmd,EvtxECmd
# Live system triage collection (run as administrator)
kape.exe --tsource C: --tdest D:\LiveTriage\Collection --target KapeTriage --mdest D:\LiveTriage\Processed --module !EZParser --vhdx LiveTriageImage
MFTECmd - Master File Table パーサー
MFTECmd は NTFS の $MFT、$J(USN ジャーナル)、$Boot、$SDS、$LogFile を解析し、人間が読み取れる CSV 形式に変換します。
# Parse the $MFT file
MFTECmd.exe -f "C:\Cases\Evidence\$MFT" --csv C:\Cases\Output --csvf MFT_output.csv
# Parse the USN Journal ($J)
MFTECmd.exe -f "C:\Cases\Evidence\$J" --csv C:\Cases\Output --csvf USNJournal_output.csv
# Parse $Boot for volume information
MFTECmd.exe -f "C:\Cases\Evidence\$Boot" --csv C:\Cases\Output --csvf Boot_output.csv
# Parse $SDS for security descriptors
MFTECmd.exe -f "C:\Cases\Evidence\$SDS" --csv C:\Cases\Output --csvf SDS_output.csv
MFT 出力の主なフィールド:
| フィールド | 説明 |
|---|---|
| EntryNumber | MFT レコード番号 |
| ParentEntryNumber | 親ディレクトリの MFT レコード |
| InUse | レコードが有効か削除済みか |
| FileName | ファイルまたはディレクトリの名前 |
| Created0x10 | $STANDARD_INFORMATION の作成タイムスタンプ |
| Created0x30 | $FILE_NAME の作成タイムスタンプ |
| LastModified0x10 | $STANDARD_INFORMATION の更新タイムスタンプ |
| IsDirectory | ディレクトリかファイルかを示すブール値 |
| FileSize | 論理ファイルサイズ(バイト単位) |
| Extension | ファイル拡張子 |
PECmd - Prefetch ファイルパーサー
PECmd は Windows の Prefetch ファイル(.pf)を解析し、実行回数やタイムスタンプなど、プログラムの実行を示す証拠を提供します。
# Parse all prefetch files from a directory
PECmd.exe -d "C:\Cases\Evidence\Windows\Prefetch" --csv C:\Cases\Output --csvf Prefetch_output.csv
# Parse a single prefetch file with verbose output
PECmd.exe -f "C:\Cases\Evidence\Windows\Prefetch\CMD.EXE-4A81B364.pf" --json C:\Cases\Output
# Parse prefetch with keyword filtering
PECmd.exe -d "C:\Cases\Evidence\Windows\Prefetch" -k "powershell,cmd,wscript,cscript,mshta" --csv C:\Cases\Output --csvf SuspiciousExec.csv
RECmd - Registry Explorer コマンドライン
RECmd は、抽出するキーと値を定義したバッチファイルを使用して、Windows のレジストリハイブを処理します。
# Process all registry hives with the default batch file
RECmd.exe --bn C:\Tools\KAPE\Modules\bin\RECmd\BatchExamples\RECmd_Batch_MC.reb -d "C:\Cases\Evidence\Registry" --csv C:\Cases\Output --csvf Registry_output.csv
# Process a single NTUSER.DAT hive
RECmd.exe -f "C:\Cases\Evidence\Users\suspect\NTUSER.DAT" --bn C:\Tools\KAPE\Modules\bin\RECmd\BatchExamples\RECmd_Batch_MC.reb --csv C:\Cases\Output
# Process SYSTEM hive for USB device history
RECmd.exe -f "C:\Cases\Evidence\Registry\SYSTEM" --bn C:\Tools\KAPE\Modules\bin\RECmd\BatchExamples\RECmd_Batch_MC.reb --csv C:\Cases\Output
EvtxECmd - Windows イベントログパーサー
EvtxECmd は Windows イベントログ(.evtx)ファイルを解析し、カスタマイズ可能なイベント ID マップを用いて、構造化された CSV 形式に変換します。
# Parse all event logs from a directory
EvtxECmd.exe -d "C:\Cases\Evidence\Windows\System32\winevt\Logs" --csv C:\Cases\Output --csvf EventLogs_output.csv
# Parse a single event log
EvtxECmd.exe -f "C:\Cases\Evidence\Security.evtx" --csv C:\Cases\Output --csvf Security_output.csv
# Parse with custom maps for enhanced field extraction
EvtxECmd.exe -d "C:\Cases\Evidence\Logs" --csv C:\Cases\Output --maps C:\Tools\KAPE\Modules\bin\EvtxECmd\Maps
LECmd と JLECmd - ショートカットおよびジャンプリストのパーサー
# Parse LNK files from Recent directory
LECmd.exe -d "C:\Cases\Evidence\Users\suspect\AppData\Roaming\Microsoft\Windows\Recent" --csv C:\Cases\Output --csvf LNK_output.csv
# Parse Jump Lists (automatic destinations)
JLECmd.exe -d "C:\Cases\Evidence\Users\suspect\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations" --csv C:\Cases\Output --csvf JumpLists_auto.csv
# Parse Jump Lists (custom destinations)
JLECmd.exe -d "C:\Cases\Evidence\Users\suspect\AppData\Roaming\Microsoft\Windows\Recent\CustomDestinations" --csv C:\Cases\Output --csvf JumpLists_custom.csv
SBECmd - Shellbag Explorer コマンドライン
# Parse shellbags from a directory of registry hives
SBECmd.exe -d "C:\Cases\Evidence\Registry" --csv C:\Cases\Output --csvf Shellbags_output.csv
# Parse shellbags from a live system (requires admin)
SBECmd.exe --live --csv C:\Cases\Output --csvf LiveShellbags_output.csv
Timeline Explorer - 視覚的な分析
Timeline Explorer は、すべての EZ Tools の CSV 出力を分析するための GUI ツールです。フィルタリング、並べ替え、列のグループ化、条件付き書式設定に対応しています。
# Launch Timeline Explorer and open CSV output
TimelineExplorer.exe "C:\Cases\Output\MFT_output.csv"
Timeline Explorer の主な機能:
- 正規表現を使用した列単位のフィルタリング
- タイムスタンプの異常を検出する条件付き書式設定
- 時系列分析のための複数列の並べ替え
- フィルタリングした結果を新しい CSV ファイルにエクスポート
- 注目する行へのブックマーク
調査ワークフロー
ステップ 1:KAPE によるアーティファクトの収集
# Full triage collection from forensic image mounted at E:
kape.exe --tsource E: --tdest C:\Cases\Case001\Collected --target KapeTriage --vhdx TriageImage --zv false
ステップ 2:EZ Tools によるアーティファクトの処理
# Process all collected artifacts
kape.exe --msource C:\Cases\Case001\Collected --mdest C:\Cases\Case001\Processed --module !EZParser
ステップ 3:タイムライン分析
- 処理済みの CSV ファイルを Timeline Explorer で開きます
- タイムスタンプ列で並べ替えて、時系列順を確定します
- 特定のファイル拡張子、パス、またはイベント ID でフィルタリングします
- MFT のタイムスタンプとイベントログのエントリを相互参照します
- $SI と $FN のタイムスタンプを比較して、タイムスタンプの改ざんを特定します
- ブックマークとフィルタリング済みビューのエクスポートを使って、調査結果を記録します
ステップ 4:タイムスタンプの改ざん検出
# In Timeline Explorer, compare these columns:
# Created0x10 ($STANDARD_INFORMATION) vs Created0x30 ($FILE_NAME)
# If Created0x10 < Created0x30, timestomping is indicated
# $FILE_NAME timestamps are harder to manipulate than $STANDARD_INFORMATION
フォレンジックアーティファクトのリファレンス
| ツール | アーティファクト | 場所 |
|---|---|---|
| MFTECmd | $MFT | NTFS ボリュームのルート |
| MFTECmd | $J(USN ジャーナル) | $Extend$UsnJrnl:$J |
| PECmd | Prefetch ファイル | C:\Windows\Prefetch*.pf |
| RECmd | NTUSER.DAT | C:\Users{user}\NTUSER.DAT |
| RECmd | SYSTEM ハイブ | C:\Windows\System32\config\SYSTEM |
| RECmd | SAM ハイブ | C:\Windows\System32\config\SAM |
| RECmd | SOFTWARE ハイブ | C:\Windows\System32\config\SOFTWARE |
| EvtxECmd | イベントログ | C:\Windows\System32\winevt\Logs*.evtx |
| LECmd | LNK ファイル | C:\Users{user}\AppData\Roaming\Microsoft\Windows\Recent\ |
| JLECmd | ジャンプリスト | C:\Users{user}\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\ |
| SBECmd | Shellbags | NTUSER.DAT と UsrClass.dat のレジストリハイブ |
よくある調査シナリオ
マルウェア実行の証拠
- PECmd で Prefetch を解析し、実行されたバイナリを特定します
- MFT と相互参照し、ファイルの作成タイムスタンプを確認します
- RECmd で Amcache.hve を確認し、実行ファイルの SHA1 ハッシュを調べます
- プロセス作成のイベントログエントリ(イベント ID 4688)と関連付けます
データ持ち出しの調査
- MFTECmd で USN ジャーナルを解析し、ファイルの名前変更/削除操作を調べます
- LECmd で LNK ファイルを分析し、最近アクセスされたドキュメントを確認します
- SBECmd で Shellbags を確認し、ディレクトリの閲覧アクティビティを調べます
- RECmd で SYSTEM レジストリ内の USB デバイス接続を確認します
ラテラルムーブメントの検出
- EvtxECmd で Security.evtx を解析し、ログオンイベント(4624、4625)を調べます
- RDP 関連のイベントログ(Microsoft-Windows-TerminalServices)を分析します
- SMB ログからネットワーク共有へのアクセスと相互参照します
- 永続化の仕組みを調べるため、スケジュールされたタスクとサービスを確認します
出力形式と統合
EZ Tools はすべて CSV 出力を生成し、次の用途に利用できます。
- Timeline Explorer で分析し、視覚的に調査する
- Splunk、Elastic、その他の SIEM プラットフォームにインポートする
- Python/PowerShell スクリプトで処理し、自動分析する
- log2timeline/Plaso を使ってスーパータイムラインに統合する
参考資料
- Eric Zimmerman のツール:https://ericzimmerman.github.io/
- KAPE のドキュメント:https://ericzimmerman.github.io/KapeDocs/
- SANS EZ Tools トレーニング:https://www.sans.org/tools/ez-tools
- SANS FOR508:高度なインシデント対応と脅威ハンティング
- SANS FOR498:戦場フォレンジックとデータ取得