CTFするぞ

CTF以外のことも書くよ

InterKosenCTFを開催しました

はじめに

11月下旬だったかにふるつき高専生向けのCTFをやりたいと言い始め、やろうやろうという流れで今回の開催まで構想していました。 ふるつきがサーバーレンタルとかスコアサーバーの制作をしてくれて非常に助かりました。スコアサーバーも1ヵ月で作ったとは思えないほど完成度が高い!

私はひたすら作問していたのと、開催中ずっとログを監視していました。 本当は開催中Amazon Primeで映画とか見たかったんですが、Linuxfirefoxだと見れなかったので映画の代わりにパケットを見ることにしました。 今回はForensicsとPwn, Cheatを基本的に担当し、WebとCryptoも少し作りました。

頼れる主催者の運営記録はこちら:

furutsuki.hatenablog.com

夜に強い深夜担当の運営記録はこちら:

thrust2799.hatenablog.jp

結果

最終的なスコアはこんな感じになりました.

f:id:ptr-yudai:20190121164328p:plain

だいたい予想はしていましたがStereo Sky Townが終了まで8時間以上残して全完しました. 強いなぁやっぱり.

writeup

まずは作った問題のwriteupを公開しようと思います。(適宜追加していきます。)

問題全体を通して悪かった点

今回は他のCTFで見かけないCheatジャンルを作ったのですが,作問チェックが足りなかったのかanti cheatが簡単に解かれてしまいました. Revをlinuxバイナリにして,CheatはWindowsAndroidなど他のアーキテクチャにしようという方針で作ったのですが,CheatからRev要素を減らすためにspaceshipとか逆解析できない形にしてしまい,あまり解かれなかったのかもしれません. また,conversationも同様に想定していなかった解法があったので,問題チェックは何回もやらないとダメだなーと思いました.

それから,Image Uploaderは競技中に裏で急いで作っていたので,フラグまでの誘導がかなり雑になってしまいました. せめて問題文にWAFのパスワードを取ってね,くらい書いておくべきでした. 作問のときはエスパー問題にならないようにだけは注意していたのですが,WAFのモジュールがあるというのはちょっとguessだったかなーと反省しています.

それから何より,問題を作っていくうちに難化傾向になってしまったと思っています. アンケートを見るとちょうど良い難易度と言ってくれるチームもありますが,難しかったというチームも多いです. 少なくとも「高専セキュリティコンテストよりもちょっと難しいくらい」というアナウンスは嘘になってしまいましたね. 強いチームの参加を観測してから焦って難しい問題を追加したのですが,50ptみたいな問題を何個か追加しておくべきでした.

問題全体を通して良かった点

WebとPwnのソースコードを公開したのが非常に好評でした。 いくつかのCTFに参加してきて、個人的にWebはエスパーが多いと思っており、またpwnは脆弱性に辿り着く前にバイナリを読むのが面倒で諦めてしまうことが多いので、そういったことが無いように全てソースコードを公開することにしました。 思っていたより多くのチームがpwnを解いてくれていたのはソースコードがあったからだと信じています。 ソースコードを公開しておくとローカルで試してもらえるので,サーバーへの無理な攻撃が減るというのも1つのメリットだと思います. でもWebのソースコードを公開しつつ脆弱性を上手く埋め込むのは難しかったです。

おわりに

寝ずに運営しているのはつらかったですが,参加者のsubmitやpwn, webのログを見るのは楽しかったです. 一生懸命作ったpwnが解かれると,みんな強いなーと思ってもっと勉強する気になれました. 今回は運営に参加できて本当に良かったです. 参加者の皆様,本当にありがとうございました!!