@port139 Blog

基本的にはデジタル・フォレンジックの技術について取り扱っていますが、記載内容には高確率で誤りが含まれる可能性があります。

RegistryとTransaction log files

Windows 10 環境で取得した ntuser.dat.LOG1 ファイルのデータ内容を確認します。

ファイルフォーマットについては「Windows registry file format specification」のNew format を参照しています。

 ファイルの先頭 512バイトは、Base block となっており、NTUSER.DAT ファイルの一部バックアップとなっています。(部分的には異なる)

f:id:hideakii:20171210091124p:plain

Log entries

オフセット512からLog entrieが開始されます。

f:id:hideakii:20171210092120p:plain

48 76 4C 45 Signature ⇒ HvLE
00 8E 01 00 Size ⇒ 101,888
00 00 00 00 Flags 
9B 01 00 00 Sequence number
00 50 0E 00 Hive bins data size ⇒ 937,984
0D 00 00 00 Dirty pages count ⇒ 13
4E 8D E6 65 CA 45 AE 85 Hash-1 
E7 5 DD 9B AE 69 9 EC 79 Hash-2 

 Dirty pages references

オフセット40から Dirty pages references が Dirty pages count 分(=13)続きます。

f:id:hideakii:20171210092829p:plain

00000000 Offset ⇒ 0
00100000 Size ⇒ 4096
00000300 Offset ⇒ 196,608
00100000 Size ⇒ 4096 
00600300 Offset ⇒ 221,184
00100000 Size ⇒ 4096
00300600 Offset ⇒ 405,504
00200000 Size ⇒ 8192
00C00600 Offset ⇒ 442,368
00100000 Size ⇒ 4096
00B00700 Offset ⇒ 503,808
00100000 Size ⇒ 4096
00E00700 Offset ⇒ 516,096
00100000 Size ⇒ 4096
00200800 Offset ⇒ 532,480
00100000 Size ⇒ 4096
00600B00 Offset ⇒ 745,472
00100000 Size ⇒ 4096
00000C00 Offset ⇒ 786,432
00100000 Size ⇒ 4096
00A00C00 Offset ⇒ 827,392
00800000 Size ⇒ 32768
00A00D00 Offset ⇒ 892,928
00100000 Size ⇒ 4096
00D00D00 Offset ⇒ 905,216
00400000 Size ⇒ 16,384

Dirty page

例えば、「RegistryとFile format(3)」で参照した UserInitMprLogonScript 値は NTUSER.DAT ファイル内の、Hive Bins Data のオフセット 443,304 にあります。

上記 Dirty pages reference の Offset 値から、オフセット  442,368 のDirty Page内にデータが含まれている事を確認できます。

NTUSER.DAT.LOG1 ファイル内では、Base block 512 + Log entrie 40 + Dirty pages references 104 + 4096 + 4096 + 4096 + 8192 = 21,136 からの 4096 バイトになります。

f:id:hideakii:20171210100005p:plain

30 00 00 00 Size ⇒ 48
76 6B Signature ⇒ vk
16 00 Name length ⇒ 22
3C 00 00 00 Data size ⇒ 60
28 33 0E 00 Data offset  ⇒ 930,600
01 00 00 00 Data type ⇒ REG_SZ
01 00 Flags 
04 00  Spare
55736572496E69744D70724C6F676F6E5363726970746D00 ⇒ UserInitMprLogonScriptm

削除データの復元

yarp: yet another registry parser を利用すると、削除データの復元が可能です。

このツールはトランザクションログにも対応しており、オプション指定により含める・含めないを選択できます。 

f:id:hideakii:20171216100611p:plain

--deleteオプションを利用した出力結果で、削除された値を確認できました。

---

Key path: Environment
Last written timestamp (UTC): 2017-12-09 05:58:21.726800
Access bits: 2

Value name: Path
Value type: REG_EXPAND_SZ
Data size: 102
Data (decoded):
%USERPROFILE%\AppData\Local\Microsoft\WindowsApps;

Value name: TEMP
Value type: REG_EXPAND_SZ
Data size: 66
Data (decoded):
%USERPROFILE%\AppData\Local\Temp

Value name: TMP
Value type: REG_EXPAND_SZ
Data size: 66
Data (decoded):
%USERPROFILE%\AppData\Local\Temp

Value name: OneDrive
Value type: REG_SZ
Data size: 56
Data (decoded):
C:\Users\forensics\OneDrive

Associated deleted values below (may contain reallocated data):

Value name: UserInitMprLogonScript
Value type: REG_SZ
Data size: 60
Data (decoded):
c:\users\forensics\mrset.bat

---

 snip

---

Deleted values (all, may contain reallocated data):

Value name: UserInitMprLogonScript
Value type: REG_SZ
Data size: 60
Data (decoded):
c:\users\forensics\mrset.bat

 素晴らしい!

 

参考URL:

github.com

github.com

www.slideshare.net

f:id:hideakii:20171216101947j:plain