2013年3月14日木曜日

Codegate 2013 Forensics 300 Writeup

Forensics 300 の問題は次のとおり。

Find key?

鍵を見つけろとだけ書かれていて、あとはファイルが置かれている。
リンクを保存すると「ce5a4c1f062bffc9eb02c1f911d449d8.docx」というファイルができる。拡張子が docx なのでとりあえずは普通に word として開いてみる。


複数の画像ファイルが埋め込まれているだけで、文字のようなものは見当たらない。
docx ファイルは zip 形式になっているので、まずは unzip を行ってみる。

forensics300# unzip ce5a4c1f062bffc9eb02c1f911d449d8.docx 
Archive:  ce5a4c1f062bffc9eb02c1f911d449d8.docx
  inflating: docProps/app.xml        
  inflating: docProps/core.xml       
  inflating: word/document.xml       
  inflating: word/embeddings/oleObject1.bin  
  inflating: word/fontTable.xml      
  inflating: word/media/image1.jpeg  
  inflating: word/media/image2.emf   
  inflating: word/media/image3.jpeg  
  inflating: word/media/image4.emf   
  inflating: word/media/image5.jpeg  
  inflating: word/media/image6.emf   
  inflating: word/settings.xml       
  inflating: word/styles.xml         
  inflating: word/theme/theme1.xml   
  inflating: word/webSettings.xml    
  inflating: word/_rels/document.xml.rels  
  inflating: [Content_Types].xml     
  inflating: _rels/.rels             
forensics300# ls -lh
total 1000K
-rwxr-xr-x 1 root root 981K 2013-03-14 22:02 ce5a4c1f062bffc9eb02c1f911d449d8.docx
-rw-r--r-- 1 root root 1.5K 2013-02-22 14:30 [Content_Types].xml
drwxr-xr-x 2 root root 4.0K 2013-03-14 22:02 docProps
drwxr-xr-x 2 root root 4.0K 2013-03-14 22:02 _rels
drwxr-xr-x 6 root root 4.0K 2013-03-14 22:02 word
forensics300# 

もとのファイルは画像が中心だったので、画像が保存されている word の下にある media フォルダを重点的に確認する。

forensics300/word/media# ls -lh
total 1.9M
-rw-r--r-- 1 root root  29K 2013-02-22 14:30 image1.jpeg
-rw-r--r-- 1 root root 1.4M 2013-02-22 14:30 image2.emf
-rw-r--r-- 1 root root 250K 2013-02-22 14:30 image3.jpeg
-rw-r--r-- 1 root root 7.2K 2013-02-22 14:30 image4.emf
-rw-r--r-- 1 root root 165K 2013-02-22 14:30 image5.jpeg
-rw-r--r-- 1 root root  13K 2013-02-22 14:30 image6.emf

中身をみると jpeg と emf ができていた。emf は windows の画像フォーマットの一つ。
それぞれのファイルをまずは画像ビューアで確認していると、image6.emf だけが開けなかったため、バイナリエディタで中を見る。

forensics300/word/media# hexdump -C image6.emf | more
00000000  50 4b 03 04 14 00 06 00  08 00 00 00 21 00 09 24  |PK..........!..$|
00000010  87 82 81 01 00 00 8e 05  00 00 13 00 08 02 5b 43  |..............[C|
00000020  6f 6e 74 65 6e 74 5f 54  79 70 65 73 5d 2e 78 6d  |ontent_Types].xm|
00000030  6c 20 a2 04 02 28 a0 00  02 00 00 00 00 00 00 00  |l ...(..........|
00000040  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|

すると、マジックナンバーが PK で、そのあとに xml の文字が確認できた。
そこでこのファイルの拡張子を docx に変更して開いてみる。




2013が鍵かとも思ったが違った。ここで行き詰ったので、ヒントを確認すると「Extra_Field_Entry」とある。
ヒントをもとに検索してみる。

どうやら docx の Extra Field entry に対してステガノグラフィーを使えるツールがあるらしい。上記のツールはいくつかの dll を要求されてうまく動かなかったので、Joakim Schicht という人が作成していた unhider を使ってみた。これは文字列の埋め込みまたは取り出しの時に暗号化および復号ができる。そこで先ほどの「2013」を指定してみる。





すると、Unhider のフォルダにテキストファイルで取り出した文字列が保存される。

c0d2gate~2o13!!F0r2nsic!!!!!

これが答え。



0 件のコメント:

コメントを投稿