千切りの長さの決まり方

いろいろ(・-・)

SECCON 2014 Writeup [フォレンジック 300]

はじめての記事。この投稿で終わらないようゆる~くがんばります。

SECCON 2014の直前に、急遽チーム「********」にぶっこまれ、フォレンジック担当としてチーム参戦させていただきました。折角参加させて頂いたので、Writeupでも書こうかなとブログを始めることにしました。

メンバーがとにかくぴちぴちの、しかし溢れんばかりの技術用語が次々とこぼれるこわいい(可愛い×こわい)男子学生さんばかりですごく新鮮な12時間でした。い、一緒に居るだけでセクハラ扱いされなくてよかった…(((・-・)))

 

さて、[フォレンジック 300] の問題はこちら。

「捏造された契約書を暴け」

**********************問題文ここから**********************

ある会社からSECCONが守秘義務に違反しているとの警告文書が届きました。しかし、SECCON はその会社とは過去に一切の取引がなく、そのような守秘義務契約書を結んだ記録はありません。

相手方の会社は「原本は紙だったが、不慮の事故により消失してしまった。しかし、念のためTiffイメージとして電子化し保存しておいたデータがある」、という契約書の電子データ(Tiff画像)に含まれている印影などを元に、この守秘義務契約書が 2012年1月1日に締結されたも有効な文書であると主張しています。

電子データが容易に改ざん可能であることから、このTiff画像が保存されていたボリュームはフォレンジックツールを使い、ディスク全体のフルディスクイメージが、RAW形式(DDイメージ)にて保全されました。

その後、情報システム部門がこのイメージファイルを調べたところ、確かにTiff画像ファイルのタイムスタンプなどは、エクスプローラー上から確認する範囲では 2011年1月1日付けになっていたそうです。しかし、情報システム部門では、このTiff画像などがねつ造されたものである事を示す手がかりを見つけることができなかった為、あたなに調査の依頼がされました。

このイメージファイルを解析し、この契約書が 2012年1月1日以降に作成された事を示す、タイムラインに矛盾が発生する証拠を探し出し、その日時を答えてください。

なお、回答は YYYY/MM/DD HH:MM:SS の形式で記入してください。

**********************問題文ここまで**********************

 

ほほう。つまり「2012年以降のタイムスタンプを持つファイルを探せばよい」というわけですね。

 

じかんちゅうのわたしの解法。

ということで、さっそく Autopsy / Sluethkit にファイルをマウントします。

するとなんと各ボリュームに Unalloc ファイルしか無いじゃないですか…(((・-・))) Iharaさん優しい…

迷う余地もなく NTTFS の「vol2」の Unalloc ファイルを漁ります。

f:id:sakenokirimi:20140721152354p:plain

ちなみに、他のファイルがある場合は、下図のように自動的にファイルタイプ別に分類されたりもしますが、「怪しいといえば」の定石、削除済みファイルもエントリされていないので、やはり Unalloc から日時情報を探します。

f:id:sakenokirimi:20140721155742p:plain

 

Unalloc ファイルが全部で 7 ページなので、とりあえず最初のページの、ピンクの網がけ部分にざっと目を通してみます。

f:id:sakenokirimi:20140721153835p:plain

 

下の方に5秒くらい進めると(ぇ)、何かの jpeg ファイルのタイムスタンプがありましたので、試しに投げてみると、これがフラグでした。

[2012/05/23 13:29:00]

f:id:sakenokirimi:20140721155010p:plain

 

ちなみに、Autopsy / Sluethkit には検索機能&検索結果を保存する機能もあったりします。右上の「Search」で「2012」と検索してもこの日時情報のみがヒットします。間違えて2回検索しちゃった結果が見えているのはご愛嬌ということで・・・(((・-・)))

f:id:sakenokirimi:20140721160853p:plain

 

ちなみにこのあと、まさかと思って

ばいなりえでぃたに突っ込んでみた。

Bz にこのファイルを突っ込んで「2012」で検索したら出てきてしまいました。これも、や、優しさ…!?(((・-・)))

f:id:sakenokirimi:20140721162506p:plain

 

SECCON が終わるまでは、何でこれが 300 点問題だったのかわからずだったのですが、帰りの電車で他の解法を試してみたらなんとなく分かった気がします。

FTK Imager にマウントしてみた。

f:id:sakenokirimi:20140721163458p:plain

Autopsy / Sluethkit にマウントしたときと見え方が違いすぎてわろたwwwこちらで解いていたらもう少し時間がかかっていたかもしれないですね。

 

Tiff 画像は、「捺印済み」というフォルダに 3 ファイル存在しました。

f:id:sakenokirimi:20140721165221p:plain

ちなみに、実ファイルを Export したらこんな感じのものが出てきます(以下は 1/3 ページ)。

f:id:sakenokirimi:20140721191204j:plain

 

 

色々とファイルを掘ってみると、 root 直下に「機密保持契約書.docx」というファイルが見つかります。ファイル自体にバツ印が付いているので削除されたファイルであり、タイムスタンプからも先ほどみた Tiff ファイルの元ファイルではないか?と考えられます。

f:id:sakenokirimi:20140721183029p:plain

 

こちらを Export してみると、先ほど Export してみた Tiff ファイルと同様の内容が記載されています。

3 ページ目に、以下のように印影画像がありますので、こちらの日時情報を確認してみます。

f:id:sakenokirimi:20140721184619p:plain

「.docx」ファイルは .zip ファイルに拡張子を変換して中身を分解できるので、ファイル形式を変換して印影画像のファイルを探します。

f:id:sakenokirimi:20140721185647p:plain

 

機密保持契約書 \ word \ media 配下に二つの印影の画像があります。「image2.jpeg」のプロパティを確認すると、撮影日時が「2012/05/23 13:29」となっていますので、この方法でも Flag を Capture することが可能です(そんな言い方しないか)。

f:id:sakenokirimi:20140721190333p:plain

 

つまり、相手方は「この守秘義務契約書が 2012年1月1日に締結されたも有効な文書であると主張」しているにも関わらず、その守秘義務契約書に捺印されている印影ファイルの撮影日時が2012年5月23日であるのは矛盾していますよね?という結論を導くことができます。

 

この問題は、正攻法で解けば、まさにフォレンジックの現場で行われているようなフォレンジック調査の観点を知ることができるので、非常に良い問題だと思いました。

ただ、私だったらもっと色んなゴミ日時情報を混ぜただろうな…w( Iharaさんやっぱり優しい…!)

 

ちなみに、 CTF for GIRLS の問題でも .zip 形式のファイルを .pptx 形式に変換して、そこから Flag を Capture する(だからその言い方…)という問題を出させて頂いたので、それを覚えていた女子の中には、正解まで辿り着けた方もいらっしゃるのではないかな~?と思います。

 

皆さんにとってはどうでもいいことですが、今回色々ありまして Windows 環境しか装備していなかったので、次回何かの CTF に参加するときはちゃんと Linux 環境完備で挑戦します…(((・-・)))

Linux 環境でこの問題を解かれた方は、他の方が書かれた Writeup を参考にされるとよいかと思います。