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, フォレンジックスの力を同じくらいにして, どんな問題でも解けるようにしたいです. あと, バイナリを中心に攻略していくつもりだったのに, ほとんど解けなかったのが悔やまれる.
ぼくのばいなりりょくはまだまだだ.
それでは, また.