@port139 Blog

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

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

2.2.4. Users 0x00 shell itemのデータをパースしてみます。

先のデータ構造により、{031e4825-7b94-4dc3-b131-e946b44c8dd5}(Users Libraries) が指定されていますので、この続きのデータについては 2.2.4. Users 0x00 shell item でパースしていきます。(データ構造は Page5 に書かれています)

 

オフセット0~1 の2バイトがサイズになります、74 00 ですので 10進数に戻すと 116 となりますので、116バイト分を切り出してみます。

74 00 00 00 1A 00 EE BB FE 23 00 00 10 00 7D B1
0D 7B D2 9C 93 4A 97 33 46 CC 89 02 2E 7C 00 00
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

オフセット2の1バイトがClass type indicatorですが、これは 00 になっており、続く1バイトも00です。
オフセット4からの2バイト 1A 00 がデータサイズとしてこの値以降の続くデータのサイズを示しています、10進数に戻すと 26 になります。
オフセット 6 からの 4バイトは Data Signatureとなっており EE BB FE 23 を Page6のテーブルで確認すると 0x23febbee は 16バイト長で Know folder identifier Contains a GUID For a list of known folder identifiers see: [LIBFWSI-WIKI]と記載されています。
オフセット10からの2バイトは 00 00 となっており、Property store data size はゼロでデータなし。
オフセット12からの2バイトが Identifier size となっており、10 00 を10進数に戻すと16バイトある事になります。これは 0x23febbee のサイズ長と同じです。
オフセット14 から Identifier data となっており、7D B1 0D 7B D2 9C 93 4A 97 33 46 CC 89 02 2E 7C ですので、{7b0db17d-9cd2-4a93-9733-46cc89022e7c} となり、Wiki によると FOLDERID_DocumentsLibrary, Documents である事が分かります。

https://code.google.com/p/libfwsi/wiki/KnownFolderIdentifiers

次の2バイト 00 00 は Unknown Empty bytesとなります。
その先にもデータがありますので、下記のデータ部分は extension Block という事になります。(Seen extension block 0xbeef0000 and 0xbeef0019)

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