@port139 Blog

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

SANS ポスター:Windows Artifact Analysis(5) Windows Shell Item

2.2.4. Users 0x00 shell item のデータをパースしてきていますが、下記のデータ部分は extension Block という事が分かりました。

2A 00 00 00 00 00 EF BE 00 00 00 20 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 01 00 00 00 20 00 2A 00 00 00 19 00
EF BE 7E 47 B3 FB E4 C9 3B 4B A2 BA D3 F5 D3 CD
46 F9 82 07 BA 82 7A 5B 69 45 B5 D7 EC 83 08 5F

Page 21 に 3.1. Extension block 0xbeef0000、Page 31 に 3.14. Extension block 0xbeef0019 が記載されています。
オフセット0~1の2バイト 2A 00 はデータサイズ値ですが、資料によると value が 42 となっていますので固定?かもしれません。(0x2A を10進数に戻すと 42)
42バイト分だけ取り出すと以下になります。

2A 00 00 00 00 00 EF BE 00 00 00 20 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 01 00 00 00 20 00

オフセット 6 からの 4バイトが Extension signature となっており、EF BE 00 00 がシグネチャですので 0xbeef0000 となります。
続くオフセット 8からの 16バイト 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00が Folder type GUIDとなり、 続く 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 が Unknown GUID、オフセット 40 からの 2バイトが Extension Version offset で上記では 20 00、10進数だと 32 になります。シェルアイテムからのオフセット位置。

3.14. Extension block 0xbeef0019 を取り出すと下記になります。

2A 00 00 00 19 00 EF BE 7E 47 B3 FB E4 C9 3B 4B
A2 BA D3 F5 D3 CD 46 F9 82 07 BA 82 7A 5B 69 45
B5 D7 EC 83 08 5F 08 CC 20 00

先ほどと同じく、4バイトがExtension signatureですので、0xbeef0019である事が確認できます。資料ではオフセット6からの4バイトになっていますが、オフセット4からの4バイトではないかと見ています。
オフセット 8 からの 16バイト 7E 47 B3 FB E4 C9 3B 4B A2 BA D3 F5 D3 CD 46 F9 が Folder type identifierで Documents Library の GUID として {fbb3477e-c9e4-4b3b-a2bad3f5d3cd46f9} になります。
更に16バイト Unknown GUID が続きます 82 07 BA 82 7A 5B 69 45 B5 D7 EC 83 08 5F 08 CC。最後の2バイトは先ほどと同じく 20 00 で 32 になります。