@port139 Blog

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

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

更に続きのデータとしては、Page 5 2.2.4. Users 0x00 shell item が続きます。先頭2バイトがアイテムのサイズ、クラスタイプがあり、データサイズがかなり長いことが分かります。(ファイル名などはこのデータ範囲内に入ってきています)
Page 5に従ってパースすると以下になります。

71 03 :Size Of Shell item 881byte
00 00 :Class type indicator
6B 03 :Data Size(875byte)
81 19 :14 10 Data Signature(0x10141981 32 Unknown)
40 03 :Property store data size(833byte)
20 00 :Identifier size(32byte)
00 00 48 40 00 00 00 00 00 00 00 00 00 00 00 00:Identifier data
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Page 6では、Identifier dataとして、Property store data See: [LIBFWPS] という記述があります。
更に続くデータはの構造が [LIBFWPS] を参照していく必要があるようなのですが、リンク切れで詳細不明となっています。

<追記>著者にリンクが切れていると連絡してみたところ、PDFをアップロードしてくれました。

 

extension block かな?とも思ったのですが、下記のデータ構造ですので違っているようにも見えます。

63 00 00 00 31 53 50 53 30 F1 25 B7 EF 47 1A 10
A5 F1 02 60 8C 9E EB AC 21 00 00 00 0A 00 00 00
00 1F 00 00 00 07 00 00 00 31 00 33 00 2E 00 74
00 78 00 74 00 00 00 00 00 15 00 00 00 0C 00 00
00 00 15 00 00 00 00 00 00 00 00 00 00 00 11 00
00 00 0D 00 00 00 00 13 00 00 00 80 00 00 00 00
00 00 00 40 02 00 00 31 53 50 53 A6 6A 63 28 3D
95 D2 11 B5 D6 00 C0 4F

Page 7が近いので分かる範囲でだけパースすると下記になります。Page 5で黄緑色でハイライトされている箇所が 63 00 00 00 の位置だと考えています。続く 31 53 50 53 30 が ASCII で 1SPS0 となるようですが、この辺りは解釈できていません。Serialized property storage version 1 のシグネチャである事が LIBFWPS の資料から分かります。

63 00 :Size?(99byte)
...
1F 00 00 00 : Variant type
07 00 00 00 : Number of characters
31 00 33 00 2E 00 74 00 78 00 74 00 00 00 : 13.txt

 という事で、非常に中途半端なパースになっています。どなたか  [LIBFWPS]  の資料をお持ちではないでしょうか?

または、このデータ構造に関するパース方法について参考URLなどありましたらご教授いただけると助かります。

 

[MS-PROPSTORE]: Property Store Binary File Format
http://msdn.microsoft.com/en-us/library/dd871346.aspx