SECCON CTF つくば大会に参加してきた

 ども, nullです.

 久々の更新です. それも, 1ヶ月前の話です......(´・ω・`)


 題名の通りボクは, SECCON CTFにTeamTNCTとして参加してきました(身の程知らずにも程がある!!
結果から言うと, 13チーム中12位という結果. 当初の目標「最下位にはならない」が達成できたのでよかったです(*´ω`*)

CTFとは

 ごめん, 眠いからググって. 簡単に言うと電脳戦.

前置き

 TeamTNCTが解けたのは7問. その中でボクが解いたのは次の3問.

  • この城の名前は何ですか?
  • パケットの正体
  • メモリダンプからIPパケットを見つけて

 簡単に解説していきます.

「この城の名前は何ですか?」

 問題ファイルはJPEG形式になっていて, 普通には開けない. GIMPで開くと個性的な城の画(手書き)が出てくる. 他のレイヤーが見つかるので, それを可視化して抽出. どうやら城のモノクロ写真を上から黒でなぞっていたものらしい.
 さて, ここからどうするか. みなさんならどうしますか?
 答えはシンプルです. Google画像検索に投げるんです. 「写真は相当古いものなのだから, おそらくネットの海の中にあるものだろう」と「昨日の夜に寮でGoogle画像検索の話をしたなぁ」というのを元にして, 至った答えです.
 おそらく, そのまま検索したのでは結果が出てこない. だったら余計な部分が消えるように画像を切り取るまで. それを適当な形式で保存して, 検索.
 答えは「松本城」でした.

 実はこの問題は, 途中までmue(ちーむめいと)が解いていて諦めたのを貰ったんです.

「パケットの正体」

 これはパケットのdump fileを解析するというもの. Wiresharkで解析しました. HTTPでナニカをDownloadしていたのでその部分のTCP Streamを読む. 受信データを抽出して, テキスト的に整形. xxdでみんな大好きバイナリに. ……恥ずかしいことにここの整形作業がすごく時間かかったのですo(`ω´*)o
 どうやらWindowsの実行ファイルみたいです. EXEはネイティヴには走らせられないのでfuga(ちーむめいと)に走らせてもらう. コマンドプロンプトには「Cmd Line: 」という文字が. まだナニカ分からない.
 EXEをよく見てみるとUPXでpackされてるみたい. アンパックしてstringsで読んでみると中にはnetcatに含まれるの文字列が. どうやらnetcatを改造?したものらしいです.
 そして答えは「nc」でした.

 答えの記入で何度も「netcat」としてハジカれました(´・ω・`)


「メモリダンプからIPパケットを見つけて」

 ごめんなさい. これは問題ファイルのなかのhex列をdecに直してIPアドレスとしてひたすら投げた結果当たったものです. 正攻法を知りたい.


まとめ

 技術力が足りない!!けど, とても楽しめました. 次はしっかりと正攻法でいけるようにしたいです. バイナリ, ネットワーク, Web, フォレンジックスの力を同じくらいにして, どんな問題でも解けるようにしたいです. あと, バイナリを中心に攻略していくつもりだったのに, ほとんど解けなかったのが悔やまれる.

 ぼくのばいなりりょくはまだまだだ.




それでは, また.