最近使用したリスト (RunMRU、TypedPaths、WordWheelQuery、TypedURL)¶
リストとは何ですか¶
Windows とそのプログラムは、ユーザーが最後に入力または開いた内容の短いリストをユーザーの NTUSER.DAT に保存します。
- RunMRU: [ファイル名を指定して実行] ダイアログに入力されたコマンド (Win+R):
cmd、powershell -ep bypass、\\server\share、regedit。 - TypedPaths: パスがエクスプローラーのアドレス バーに入力されます。
- Explorer の検索ボックスで検索された WordWheelQuery: 用語。
- TypedURLs: アドレスが Internet Explorer のアドレス バーに入力され、Windows 8
TypedURLsTime以降、それぞれが入力されたときのアドレス。 - Paint および WordPad: それぞれ最後に開いたファイル (
Recent File List)。 - ACMru (Windows XP): 検索の種類ごとの検索アシスタントの用語。
この証拠から判断できること: ユーザーがこのコマンド、パス、検索語、アドレスを入力した、またはプログラムがこのファイルを開きました。入力したアドレスを TypedURLsTime で時刻付けできる場合を除き、各リストのキーの最終書き込み時刻が示すのは、そのリストの直近の項目だけです。
場所¶
C:\Users\<user>\NTUSER.DAT
Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU a, b, … in MRUList order
Software\Microsoft\Windows\CurrentVersion\Explorer\TypedPaths url1 (the most recent), url2, …
Software\Microsoft\Windows\CurrentVersion\Explorer\WordWheelQuery 0, 1, … in MRUListEx order
Software\Microsoft\Internet Explorer\TypedURLs url1, url2, …
Software\Microsoft\Internet Explorer\TypedURLsTime url1, url2, … (FILETIME)
Software\Microsoft\Windows\CurrentVersion\Applets\Paint\Recent File List File1, File2, …
Software\Microsoft\Windows\CurrentVersion\Applets\Wordpad\Recent File List File1, File2, …
Software\Microsoft\Search Assistant\ACMru\<kind> 000, 001, … (Windows XP)
ACMru のサブキーは検索の種類です: 5603 ファイル名とフォルダー名、5604 ファイル内の単語またはフレーズ、5647 コンピューターと人物、5001 インターネット。
プロファイルごとに NTUSER.DAT とそのトランザクション ログを収集します。
分析時の注意点¶
- リストごとに 1 回。 リストが変更されるとキーの最終書き込み時刻も変わるため、日付は最新のエントリのみ (
IsMostRecent、LastUsedUTC) になります。他のものは、日付なしで、順番にあります。TypedURLsTimeは、入力された各アドレス (TypedTimeUTC) に日付を付けます。 - Typeed, not run. RunMRU は、正常に実行されたかどうかに関係なく、[実行] ダイアログに入力された内容を記録します。 Windows は、各コマンドの末尾に
\1を付けて保存します。 Juntei はそれを削除します。 Prefetch、BAM、UserAssist と関連付けて、作成イベントを処理します。 - Lists は短いです。 それぞれは最新のエントリのみを保持し、プライバシー設定とクリーンアップ ツールによってそれらのエントリが消去されます。削除された値には
parse-registry read --recover-deletedを使用します。 - Terms は入力された内容です。 WordWheelQuery と ACMru は、見つかった内容ではなく、入力されたテキストを保持します。
- Order はリストから取得されます。 RunMRU の
MRUListと WordWheelQuery のMRUListExが順序を与えます。他のものについては、値の番号が当てはまります (url1、File1、および000が最新です)。
Juntei で解析する¶
Usage: juntei parse-registry mru <INPUT> [OPTIONS]
Input:
-d, --directory <DIR> Recursively find NTUSER.DAT hives
-f, --file <FILE> Parse one NTUSER.DAT
--log1/--log2 Supply transaction logs explicitly
--no-logs Do not replay logs
Filtering:
--list <LISTS> runmru, typedpaths, wordwheelquery, typedurls, paint, wordpad, acmru
Output:
-o, --output <FILE> Save records
-t, --output-type <TYPE> csv, json, or jsonl
juntei parse-registry mru -d evidence/ -o mru.csv
juntei parse-registry mru -f NTUSER.DAT --list wordwheelquery,typedpaths -t jsonl
juntei parse-registry mru -f NTUSER.DAT --list runmru -t jsonl \
| jq 'select(.Value | test("powershell|cmd|mshta"; "i"))'
概要には、リストごとのエントリと、最後の日付のエントリ (入力されたアドレスと各リストの最新のエントリ) が新しい順にリストされます。
出力フィールド¶
| フィールド | 解釈 |
|---|---|
Host, User, UserSID, SourcePath |
ホスト、プロファイル所有者 (パスまたはシェル フォルダーから)、システムの ProfileList からの SID、およびハイブ。 |
List |
RunMRU、TypedPaths、WordWheelQuery、TypedURLs、Paint、Wordpad、または ACMru。 |
Subkey |
ACMru のサブキー: 検索の種類 (5603、5604、5647、5001)。 |
MRU-Position, IsMostRecent |
リスト内の場所 (0 が最新)。リストに値の名前がない場合は空です。 |
ValueName |
a, 0, url1, File1, 000, … |
Value |
コマンド (\1 なし)、パス、検索語、アドレス、またはファイル。 |
TypedTimeUTC |
アドレスが入力されたとき、TypedURLsTime から。 |
LastUsedUTC |
最新のエントリのみのキーの最終書き込み時刻。 |
KeyPath, KeyLastWrittenUTC |
キーとその最後の書き込み: すべての行ではなく、その最新のエントリの時刻。 |
DataRaw |
デコードされない場合の値のバイト数 (16 進数)。 |
TransactionLogStatus, LogsApplied |
レジストリ回復コンテキスト。 |
Problems |
リスト名はあるがキーには付いていない値、名前が付けられていない値、名前が間違っている値、間違った型、用語の短縮、FILETIME ではない時間。 |
調査戦略¶
- ユーザーが入力したコマンド、スクリプト、ネットワーク共有、および管理ツールについては、「RunMRU」を参照してください。
- TypedPaths および WordWheelQuery を読み取り、ユーザーが探しているフォルダーとファイル (認証情報、エクスポート、アーカイブ、リムーバブルおよびネットワークの場所) を確認します。
TypedTimeUTCを使用して、入力したアドレスをタイムラインに配置します。- Prefetch、BAM、UserAssist、ShellBags、LNK ファイル、ジャンプ リスト、ブラウザ履歴と関連付けます。