KOSENセキュリティコンテスト2017に参加しました

はじめに

こんにちは、Knotfoundです。 先日木更津高専が主催した高専セキュリティコンテスト(https://sckosen2017.kisarazu.ac.jp/)にチームEAnbaiの一人として参加しました。

結果は35チーム中5位でした。他のチームメンバーの活躍があっての結果だと思います。

らいとあっぷ兼参加記

 とりあえず僕が解いた問題のWrite-Up(解法)を載せておきます。他の問題に関しては他の人がアップしてるWrite-Upをご覧ください。 なお、今回のフラグ形式は

SCKOSEN{flag_strings}

みたいな感じの文字列です。

寝坊気味のコンピュータ(Network問)

通信が記録されたpcapファイルが配布されるのでとりあえずダウンロードし、WireSharkで開きます。 中には5つしかパケットが記録されておらず、全てWake-on-Lanのプロトコルのパケットでした。1つ目のパケットのMACアドレスが記述されている部分を見てみるとSCKOSENと記述されている、あからさまな文字列がありました。1つのパケットにつき同じMACアドレスがいくつかあったので、それぞれのパケットからMACアドレスを順番に一つずつつなげ合わせるとフラグが出てきます。

SCKOSEN{wake_on_lan_is_alerm}

ファイル送信pcap

 通信が記録されたpcapファイルが配布されるのでとりあえずダウンロードし、WireSharkで開きます。HTTPのPOSTメソッドが2回使われており、それぞれLenna.png(画像処理界隈では有名なあの人)とlock.zipの2つが送られていることがわかりました。  この時、僕はpcapファイル中のファイルの抽出の仕方がわからずどうしようとしていたところ、チームメンバーのsioがWiresharkのエクスポート機能について教えてくれ、エクスポート-> HTTPから無事にファイルを抽出できました。とりあえずlock.zipをunzipしてみましたがパスワードがかかっているため、すぐには解答できませんでした。 Lenna.pngをstringsかけたり、pcapファイルの中に怪しい文字列がないか探したものの、特にめぼしいものがなかったため、総当たりでパスワード解析もしようか考えたりしました。ここで、チームメンバーのwassan128がpkcrackなるツールを使うといいとアドバイスしてくれたので早速pkcrackを落としてzipファイルを食わせました。一回目は平文であるLenna.pngを一緒に食わせるのを忘れてしまい、うまくいきませんでしたがちゃんと食わせて2回目をやってみたところ、無事zipの中のflag.txt(とLenna.png、多分食わせたpngファイルと同じやつ)が取り出せました。

フラグは

SCKOSEN{k_p_t_a}

です。どうやらこれは既知平文攻撃って呼ばれる手法らしいです。(初知り)

KoH2 通信を解析しろ(フラグ発見のみ)

 通信が記録されたpcapファイルが配布されるのでとりあえずダウンロードし、WireSharkで開きます。最初から大量のSYNパケットが飛んでいて、1つ1つをチェックするのは無理でした。そこでハリネズミ本を片手に、Wiresharkの対話機能を使って通信量の多いホストを絞り込んでみました。すると、KoH1,2と同じIPアドレスのホスト同士が一番通信量が多かったためそれを見ていくことにしました。とりあえず平文の通信がないか、プロトコルでソートしてみたところ、わずかにHTTPで通信していたらしく、その内容(KoH2のホストが送ったデータ)の中にフラグがありました。

フラグは

SCKOSEN{p0rtkn0cking}

だったはずです。(メモするの忘れました。) ただ、KoHはフラグを見つけて終わりではなく今回の場合だとスコアサーバに自チームのIDを書き続けなければなりません。しかしながら僕はこれ以上は手掛かりがつかめなく、他の通信を見たりホストにアクセスしてみてもダメでした。競技が終わって、解けたほかのチームのWrite-upを見てみると

  • HTTPの通信の前後のTCPでのやり取りを真似してみる(なぜサーバとの通信がうまくいったのかを調べる)

といったことをやっており、その発想は無かったと腑に落ちました。

なんか他にも解いた気がするんですが覚えてる範囲でとりあえず書きました。思い出し次第、追記します。

おわりに

 気が向いたらCTFに参加する程度のことしかやっておらず、あまり実力がないまま出場しました。CTFに結構取り組んでいる他のチームメンバーの助言がなければ解けなかった問題もあったのでとても助かりました。  この大会の運営に携わったスタッフや関係者の皆様、他のチームのみなさん、そしてEanbaiのメンバーに感謝の意をささげます。