KOSENセキュコン2017に参加しました

10/21,22に開催されたKOSENセキュリティコンテスト2017にMochiShockで出場し、17位でした。

以下WriteUpです。

03 ボスを倒せ(200pt)

ユーザー名を入力すると自動で10ターンボスと戦うプログラムが動いていました。
とりあえずたくさん文字を入力してみたところ両者の体力が変動していたので、どれくらいでオーバーフローするのか試していたところ、たまたまボスの体力が2桁になりそのままフラグを手に入れました。25文字程度だったと記憶しています。

04 OreNoFS(500pt)

解けませんでした。 flag.zipの中にflag.pngがあること、flag.zipが分割されて格納されてるっぽいことがわかりました。 そこで私がとった手段は、間に入っている00をすべて取り除いて全部繋げてからATをそれっぽく書き換える、でしたが全くうまくいきませんでした。

05 簡単な符号化(100pt)

見てみるとアルファベットが羅列されています。 ここで素直にBase64Decodeをかければ良かったのですが、

「頻出文字列(MDAw)あるし消しとこw」

してしまう暴挙に出ました。
その後デコードすると先頭が 4b 50 04 03 だったのでこれは.zipだということになり、メンバーにPythonスクリプトを組んでもらったのですが。

案の定解凍時に怒られ、ここでチームの時間を吸いました。 結局、2日目になってから元文のままデコードし、前述のスクリプトに通すことをしました。出てきたものは中身がwordフォルダ等だったので、ワードで開いてもらってフラグ入手です。

11 君(脆弱性)の名は(100pt)

CVE-2017-13077ググるとWPA2の文字が見えたので、KRACKsと入れるとポイントが入りました。

12 便利なプロトコル(100pt)

1998 dhcp protocol1998 network protoclなどで検索していたところ、Peg DHCPという画期的アイディアが1998/04/01に提案されていました。フラグはそれの提案名である

Management of IP numbers by peg-dhxp

のスペースをアンダーバーに置き換えたものだったと思います。

13 諜報機関は基本?(100pt)

競技の前に行われた講義で聞いた内容そのままでした。CIAですね。

14 素数を数えろ(100pt)

5桁の数字のうちで最大のものがフラグとのこと。ググりました。

18 ログインせよ(100pt)

ログインフォームがあったので、
user:admin
pass:' or 1=1 -- でフラグゲットでした。

感想

この類のコンテストは初の現地参加でした。
おそらくコードを一行も書けておらず、プログラミング力の無さを痛感して悲しい気持ちです。解いたのはほぼMiscです。
ですが楽しくなかったかといわれるとそんなことはなくて、むしろ現地特有の空気とか盛り上がりとかを直に触れられて非常にモチベーションが上がりました。
プログラミング力をつけて次回以降は悲しい気持ちの無いようにしていきたいです。

最後に

運営の皆様、引率の先生、チームメンバーの方々、お疲れさまでした。精進します。