CODEGATE 2014 WeirdShark writeup

Forensicカテゴリ。
150点。
今回の最少得点問題。

weird_shark.pcap_f5f1e42dd398f18c43af89ba972b3ee7を取得。
「.pcap」とあるのでそのようにファイル名を変更してWireSharkで開いてみる。
すると、怒られる。

wireshark_error_1

何やらファイルが壊れていてパケットデータが32bitの限界に挑戦するようなサイズになっているらしい。
壊れているなら直してやりましょう、ということで、「pcap repair」でググったら、pcapfixというソフトウェアに行きついた。
そこのオンラインバージョンにweird_shark.pcapを投入すると次のようになった。

pcapfix

パケット長のところが見事に修正されている。ありがたやありがたや。
修正されたファイルをダウンロードして実行すると、また怒られた。

wireshark_error_2

今度はパケット長より長くキャプチャしているぞと言われている。
pcapfixで直らなかった以上、自分で直すしかない、とバイナリエディタで開いてみる。

pcap_stirling

pcapファイル(正確にはpcapngファイル)のフォーマットはこちらにあるので、にらめっこしながら目視でparseしていくと、赤線で囲った問題のセクションにたどり着く。
青線で囲った部分が左からそれぞれキャプチャ長とパケット長で、ここでキャプチャ長の方が大きくなっているために先ほどのエラーが出ていたというわけである。
そんな悪いセクションはいりません、ということでセクションごと削除して保存後、WireSharkで開いてみると今度は正常に開けた。

wireshark

先頭がSYN+ACKパケットなので、さっき削除したのはSYNパケットなんだろうなあと思いつつ通信を眺めてみると、HTTPでいくつかのファイルをダウンロードしていることがわかるので、WireSharkの機能を使ってエクスポートする。

wireshark_2

こんなファイル群が出力される。

exported_files

この中のmultiple.pdfを開くと、

multiple_pdf

答えが書いてある。
というわけでKeyは

FORENSICS_WITH_HAXORS

おまけ:
mario.pngの中身

mario_png

違うだろ!!!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください