seccon2013 ctf オンライン予選 write up

大学の先輩のお誘いで、SECCONに参加していました。

チーム: Aquarium
スコア: 2802
順位: 19


ネットワーク・Web 200点問題の Find the key! についてのwriteupです。(他の問題は、先輩が解かれてるので…先輩のwriteupはこちら)

pcapファイルなので、とりあえずwiresharkで開く。

pingの通信で埋まっている。ProtocolHierarchyを見てもicmp通信が100%

lengthを見ると不自然に大きな箇所が見つかる。

中身を見てみると…

HTTP通信らしき文字が見える…。pingトンネルかー。
GET /kagi.png とかが見える。この画像にフラグがあるだろうと予想する。
PNGファイルを送っていそうな通信を見つけて、icmpのデータ領域だけ1つ1つエクスポート。(この辺り全部のパケットに対して一括でできる方法が見つからなかった…)。

この状態ではまだTCPヘッダなどの余計な情報が乗っているはずなのでそのあたりのゴミを除去する。
テキトーなpngファイルを拾ってきてヘッダ部分を調べる。
このヘッダ部分までが通信に使われているデータなので、この部分をエクスポートしたファイルからバイナリエディタを使って削除する。
ゴミを削除済のファイルを結合するして拡張子pngに変更して開くと…
pngとして適切に開くことができ、フラッグが表示されている。

感想とか

なんだかんだ色々教えてもらってるにも関わらず、今回初めて先輩と同じチームでのCTFだった。
しっかり協力して解いた感のある問題もあって、楽しかったー!

解けるジャンルが少ないのをなんとかしたい…

蛇足

クロスワードの答えってあんなのだったのね…