Windowsアーティファクト収集完全ガイド:PrefetchからUSN Journalまで

Windowsアーティファクト収集完全ガイド#
デジタルフォレンジックにおいて、アーティファクトとはオペレーティングシステムやアプリケーションが通常の動作中に自動的に生成する痕跡データのことです。Windowsシステムはユーザーの活動に関連する膨大なアーティファクトを生成しており、これらを体系的に収集・分析することがフォレンジック調査の核心となります。
1. Prefetchファイル#
概要#
Prefetchは、アプリケーションの読み込み速度を最適化するためにWindowsが作成するファイルです。プログラムが実行されるたびに、その読み込み情報がPrefetchファイルとして記録されます。
保存場所#
C:\Windows\Prefetch\*.pf
フォレンジック上の価値#
- プログラム実行の証拠: 特定のプログラムがいつ、何回実行されたかを特定
- 初回実行時刻: プログラムが最初に実行された時刻を特定
- 最終実行時刻: 直近の実行を確認
- 実行回数: 総実行回数の記録
- 参照ファイルリスト: プログラム実行時にアクセスされたファイルやDLL
分析ポイント#
マルウェア分析で特に有用な情報:
- 不審な実行ファイル(例: 異常な時間帯に実行された
POWERSHELL.EXEやCMD.EXE) - 削除されたプログラムの実行痕跡(ファイルが削除されてもPrefetchは残存)
- ランサムウェア実行のタイムライン再構築
2. Windows EventLog#
概要#
Windows Event Logは、システム、セキュリティ、アプリケーションのイベントを記録する集中型ログシステムです。
保存場所#
C:\Windows\System32\winevt\Logs\*.evtx
主要なログファイル#
| ログファイル | 内容 | 主要なイベントID |
|---|---|---|
| Security.evtx | 認証、アカウント管理、監査 | 4624, 4625, 4648, 4720 |
| System.evtx | サービス、ドライバー、システムイベント | 7034, 7036, 7045, 6005 |
| Application.evtx | アプリケーションエラー、警告 | 1000, 1001, 1002 |
| PowerShell/Operational.evtx | PowerShellコマンド実行履歴 | 4104, 4103 |
| TaskScheduler/Operational.evtx | スケジュールタスク実行記録 | 106, 200, 201 |
セキュリティ分析における重要なイベントID#
- 4624: ログイン成功(ログオンタイプを含む)
- 4625: ログイン失敗(ブルートフォース攻撃の検出)
- 4648: 明示的な資格情報を使用したログイン(Pass-the-Hash攻撃の検出)
- 4720: 新規アカウントの作成(バックドアアカウントの検出)
- 7045: 新規サービスのインストール(悪意あるサービスの検出)
- 4104: PowerShellスクリプトブロックログ(悪意あるスクリプトの検出)
3. Windows Registry#
概要#
Registryは、Windowsの集中型設定データベースであり、システム設定、ユーザー環境、ソフトウェア設定を階層構造で保存しています。
主要なハイブファイルの場所#
SYSTEM: C:\Windows\System32\config\SYSTEM
SOFTWARE: C:\Windows\System32\config\SOFTWARE
SAM: C:\Windows\System32\config\SAM
SECURITY: C:\Windows\System32\config\SECURITY
NTUSER.DAT: C:\Users\<username>\NTUSER.DAT
UsrClass.dat: C:\Users\<username>\AppData\Local\Microsoft\Windows\UsrClass.dat
フォレンジックにおける重要なRegistryキー#
自動実行(永続化の検出):
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKLM\SYSTEM\CurrentControlSet\Services
USBデバイス履歴:
HKLM\SYSTEM\CurrentControlSet\Enum\USBSTOR
HKLM\SYSTEM\CurrentControlSet\Enum\USB
HKLM\SYSTEM\MountedDevices
最近のドキュメントアクセス:
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePidlMRU
ネットワーク接続履歴:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures
4. $MFT(Master File Table)#
概要#
$MFTは、NTFSファイルシステムのコアとなるメタデータ構造であり、ボリューム上のすべてのファイルとディレクトリのレコードを含んでいます。
保存場所#
ボリュームルート $MFT(隠しシステムファイル)
フォレンジック上の価値#
- ファイルの存在証明: 削除されたファイルの$MFTレコードが残っていれば、そのファイルが存在したことを証明できます
- タイムスタンプ分析: 作成、変更、アクセス、MFT変更の4つのタイムスタンプ
- $STANDARD_INFORMATION vs $FILE_NAME: これら2つの属性のタイムスタンプの不一致はタイムスタンプの改ざんを示す可能性があります
- ファイルサイズの変化: ファイルが時間の経過とともにどのように変更されたかを追跡
- 代替データストリーム(ADS): 隠されたデータの検出
タイムスタンプ分析手法#
$MFTの各ファイルレコードには2組のタイムスタンプが含まれています。
| 属性 | 作成 | 変更 | アクセス | MFT変更 |
|---|---|---|---|---|
| $STANDARD_INFORMATION | SI_C | SI_M | SI_A | SI_E |
| $FILE_NAME | FN_C | FN_M | FN_A | FN_E |
タイムスタンプ改ざんを検出するためのルール:
FN_C > SI_C: $FILE_NAMEの作成時刻が$STANDARD_INFORMATIONより後であれば、改ざんの可能性SI_C > SI_M: 作成時刻が変更時刻より後であれば、異常
5. USN Journal(Update Sequence Number Journal)#
概要#
USN Journalは、NTFSボリューム上のファイルやディレクトリの変更を時系列で記録する変更ジャーナルです。
保存場所#
$Extend\$UsnJrnl:$J(代替データストリーム)
フォレンジック上の価値#
- ファイル変更履歴: ファイルの作成、削除、名前変更、内容変更などすべての変更を記録
- アンチフォレンジックの検出: ファイルの削除や上書きの試みを検出
- ランサムウェアの活動: 大量のファイル名変更パターン(例: .encrypted拡張子の追加)
- データ持ち出し: 特定の時間帯における大量のファイルコピー/移動を検出
記録される変更タイプ#
FILE_CREATE - ファイル作成
FILE_DELETE - ファイル削除
DATA_OVERWRITE - データ上書き
DATA_EXTEND - データ拡張
DATA_TRUNCATION - データ切り詰め
RENAME_OLD_NAME - 名前変更(旧名)
RENAME_NEW_NAME - 名前変更(新名)
SECURITY_CHANGE - セキュリティ属性の変更
6. ブラウザアーティファクト#
収集対象#
各ブラウザのプロファイルディレクトリから以下のファイルを収集します。
Chrome/Edge(Chromiumベース):
%LocalAppData%\Google\Chrome\User Data\Default\
- History(閲覧履歴、ダウンロード記録)
- Cookies
- Login Data(保存された認証情報)
- Web Data(オートフィルデータ)
- Bookmarks
- Preferences
Firefox:
%AppData%\Mozilla\Firefox\Profiles\<profile>\
- places.sqlite(閲覧履歴、ブックマーク)
- cookies.sqlite
- formhistory.sqlite
- logins.json + key4.db
フォレンジックでの活用#
- フィッシングサイトへのアクセス記録: 悪意あるURLへの訪問を確認
- ファイルダウンロードパス: マルウェアのダウンロード元を追跡
- 検索履歴: ユーザーの意図を理解(例: 「証拠を削除する方法」)
- オートフィルデータ: 入力された情報の復元
7. その他の重要なアーティファクト#
Shellbags#
ユーザーが閲覧したディレクトリのフォルダ表示設定を記録します。削除されたフォルダや外部記憶メディアの閲覧痕跡を明らかにすることができます。
Jump Lists#
タスクバーのピン留めされた項目と最近使った項目のリストで、最近開いたファイルやアプリケーションの使用履歴を表示します。
LNKファイル(ショートカット)#
最近開いたファイルのWindowsショートカットファイルで、元のファイルのパス、サイズ、MACタイムスタンプ、ボリューム情報を含みます。
AmCache / Shimcache#
インストール/実行されたプログラムのパス、ハッシュ、インストール時刻を記録するプログラム互換性データベースです。
SRUM(System Resource Usage Monitor)#
Windows 8で導入されたシステムリソース使用監視機能で、アプリケーションごとのネットワーク使用量、実行時間などを30〜60日間記録します。
収集の自動化の重要性#
上記のアーティファクトを手動で収集することは、時間がかかりミスが発生しやすいです。自動化された収集ツールを使用することで以下のメリットが得られます。
- 一貫性: 毎回同じアーティファクトを漏れなく収集
- 完全性: 収集プロセス中のデータ改ざんを防止
- 速度: 数十種類のアーティファクトを数分で収集
- 保管の連鎖: 収集時刻とハッシュ値を自動的に記録
unJaena Collectorは、ワンクリックで105種類以上のWindowsアーティファクトを収集できるオープンソースツールです。収集したデータをAI分析プラットフォームにアップロードすれば、すぐに分析を開始できます。