SECCON 2014 オンライン予選に出た

f:id:misodengaku:20140720155447p:plain

今回もチーム竹田氏で出ようと思ったらチーム名にマルチバイト文字が使えないとか言われたので仕方なくMr.Takedaとして出て、結果は2303ptで4位だった。
公式発表はまだだけど今年も全国大会行けるっぽい?→行けるっぽいです SECCON メールマガジン【Vol.04】

このパケットを解析せよ 100pt

FTPのパケットを記録したpcapngが渡される。中身を見てみるとFTPでflag.txtをダウンロードしているのでflag.txtの中身を転送しているパケットを見つけ出す。

f:id:misodengaku:20140720160100p:plain

明らかにBase64なのでデコードしてフラグゲット。

FLAG: F7P 15 N07 53CUR3

879,394bytes 100pt

フォレンジックの問題。879394バイトの画像のファイル名を答えろと言われて謎のファイルを渡されるので中身を見てみるとどうやらFATっぽい。
いろいろ考えたけど結局は879394を16進にしてリトルエンディアンで22 6B 0Dで検索して該当ファイルを見付けた。

FLAG: Chrysanthemum.jpg

捏造された契約書を暴け 300pt

これはどこのチームの誰よりも早く解答を通したので1%ボーナスがもらえた。
2012/1/1以降でデータが改ざんされた日時を答えろみたいな問題。
NTFSだったと思うけどとにかくddでダンプされたデータを渡されるのでとりあえずAutopsyで開いてみたらNTFSのUnallocatedな領域に何かある。
ダンプしたデータを眺めていたら突如として2012/05/23 13:29:00という日時が見えたので試しにsubmitしたら通った。
よくわからなくてもとりあえずsubmitしておけという教訓が生きた。

FLAG: 2012/05/23 13:29:00

箱庭SQLiチャレンジ 100pt

Twitterを眺めていたらCTF for Beginnersに参加したおかげで解けたみたいなツイートを見かけたので簡単なのかなと思ってやったらすぐできた。
"' union select flag,1,1,1,1 from seccon --"で次のような出力が出る。

f:id:misodengaku:20140720162201p:plain

FLAG: EnjoySQLi

ただこれはプロセスのメモリダンプして眺めるだけで答え出たりもしたっぽい、いろいろあるなぁ

Print it! 300pt

ジャンルUnknownということで知識というよりは気づきの問題みたいな感じ。
チーム全員でEPSじゃねぇのか印刷すると何かあるんじゃないかとか散々議論していたところでふと「そういえば3Dプリンタあったよな?」と思い3Dプリンタのファイル形式を調べた結果STLファイルなる形式の存在に行き着いた。
ずいぶん前に専用のソフトウェアを入れていたことを思いだしたので読み込ませたら次のようなオブジェクトが表示された。

f:id:misodengaku:20140720162910p:plain

FLAG: Bar1kaTaLab.

まとめ

最速突破でボーナス点入れられたのがすごく嬉しかった。実際この3点で4位に食い込めたのでよかった。
去年の全国では体調競技共に調子よくなかった感じなのであと半年ぐらいあるけどなんとかこの調子を維持していきたい