KOSENセキュリティコンテストに出た話  

10/21~22に現地会場+リモート参加でKOSENセキュリティコンテスト(以下セキュコン)に参加してきました。

結果はなんともいえない順位+一年生チームに100点差で負けたことにより学生運営や先生方から煽られてるので鬱憤晴らしに僕達が解いた+途中であきた問題をWrite_upしたいと思います

00 サンプル

今回出題される問題は、全て答えとなる

「フラグ」が含まれている。フラグは、必ずSCKOSEN{hoge}の形式に
なっている、この問題のフラグはSCKOSEN{Let`s enjoy}である。
入力しろ。

問題の通りにSCKOSEN{Let`s enjoy}と入力したら100点入りました。

そういえば問題が命令系ってなんか興奮しますよね?!

共感者待っております。 

 

01 Binary フラグを答えろ

正しいフラグを書けば正しいかどうかを判定してくれる、便利なアプリを開発した。

フラグを調べて解答せよ

添付ファイルとしてa.outが添付されていました。 

これは他のメンバーが解きましたが、catかなんかで機械語をみたりと我々無意味な努力をしていましたが結局見つかることはありませんでした。

偶然SCKOSEN{OOO}って形があったので整理して

SCKOSEN{h1dden_f1ag}

というフラグを見つけました。

ちなみにこれ見つけてから2時間後にクリアしました。なぜかというとチームメイトが入力するときに{}を忘れるというミスをしてしまったからです。

今度彼にラーメンおごってもらおう

 

02 ファイル名を探せ

フラグは簡単だ、ファイル名に隠した。

添付ファイルにqが添付されていました。

これも他のメンバーが解きましたが、これも中身を探していたら偶然見つかったみたいです。

SCKOSEN{ki_ha_mori_ni_kakuse} 

どなたか01も含めて正規のやり方を教えてください(T_T)

 

03 ボスを倒せ

とあるゲームを見つけたのだが、ボスがあまりに強すぎて一切倒せようにない。どうにか倒す方法はないだろうか。

[nc TDKR@yajyu.com 1919810]

 繋いでみたらこんな感じでした。

 

nc TDKR@yajyu.com 1919810

 

Input your name: Player's HP: 768

Boss's HP: 12345678

Next round=>

Round 1/10

                       Player's Attack!

                       Boss's HP: 12345667 (-11)

                       Boss's Attack!

                       Player's HP: 602 (-166)

Next round=>

Round 2/10

                        Player's Attack!

                        Boss's HP: 12345658 (-9)

                        Boss's Attack!

                        Player's HP: 427 (-175)

Next round=>

Round 3/10

                         Player's Attack!

                         Boss's HP: 12345649 (-9)

                         Boss's Attack!

                       Player's HP: 252 (-175)

Next round=>

Round 4/10

                          Player's Attack!

                          Boss's HP: 12345639 (-10)

                          Boss's Attack!

                          Player's HP: 120 (-132)

Next round=>

Round 5/10

                          Player's Attack!

                          Boss's HP: 12345630 (-9)

                          Boss's Attack!

                          Player's HP: 0 (-121)

You lose

 これはクソゲーですね。

適当に入力したら値が溢れるのではないかと思いやっていたらできました!

11111111111111111でいけるとは本当に思っていませんでした。

後から聞いてオーバーフローというのがあったみたいですね。まあ、とにかく点数ゲットでした。

 ちなみに倒したら

SCKOSEN{buffer_over_flow!}

がでてきました

 

06 Crypto 解凍して解答せよ

ファイルからフラグを読み取れ!

これは根性が試された問題でした。

解凍するとxor.pngとmask.pngの2つが入っていました。

これを合わせると文字がうっすら見えるという。

gimp2とか使えばよかったのに絵を書く用のアプリで一生懸命解いていたのでものすごい根性で解いた問題となってしまいました。。。

SCKOSEN{simple_visual_cryptography} 

 がフラグでした。

 

07 簡単な符号化

U0NL1NFTntiYXNlNjRfaXNfdmVyeV9lYXN5fQ

 base64でデコードでこれ!

SCKOSEN{bae64_is_very_easy} 

となりました。やったね!

 

11 Misc 君(脆弱性)の名は?

名前は何か。SCKOSEN{__}の形で答えよ。

CVE-2017-13077

CVE-2017-13078

CVE-2017-13079

CVE-2017-13080

CVE-2017-13081

CVE-2017-13082

CVE-2017-13084

CVE-2017-13086

CVE-2017-13087

CVE-2017-13088

 2017と書いてあるので最近だったのでwpa2とか入力したり調べたりしていたらKRACKsというのが出てきましたので入力してみたら正解でした。

SCKOSEN{KRACKs}

 

12 便利なプロトコル

DHCPは便利なプロトコルであるが、IP対応機器に対してしかIPアドレスを配布できない問題がある。1998年、この問題を克服した画期的なプロトコルが提案された。

その提案のタイトルをSCKOSEN{__}の形で答えよ。

なお、スペースはアンダースコア(_)に置き換えよ

 僕の懲りないgoogle検索で見つかりました。

見つかったのが残り30分のときでした。もっとプロトコルの勉強しようと思いました。

http://www.kt.rim.or.jp/~ksk/joke-RFC/rfc2322j.txt 

こちらに書いてありました。

洗濯バサミDHCPですって。。。初めて知りました。

SCKOSEN{Management_of_IP_numbers_by_peg-dhcp}

解けて本当に良かった。。。

 

13 諜報機関は基本?

情報セキュリティの三要素、SCKOSEN{__}の形で答えよ。

 試合開始前に言っていた

「機密性」(Confidentiality)、「完全性」(integrity)、「可用性」(Availability)のことです。

SCKOSEN{CIA}

 

14 素数を数えろ

7桁で最大の素数をSCKOSEN{__}の形で答えよ。

OK Google

SCKOSEN{9999991} 

 

15 Network 寝坊気味のコンピュータ

ここにある通信をキャプチャしたファイルがある。この中からフラグを見つけ出せ! 

.pcapngのファイルがあったので中身をみてTCPストリームをしてみると

文字が書いてあったのでつなげてみると

SCKOSEN{wake_on_lan_is_alerm} 

 となって入力したら正解でした!

ちなみにWiresharkを使ったのですがこの大会で初めて使いました(T_T)

解けたときは嬉しかったです!

 

16 ログインしたいんだ!

ここにある通信をキャプチャしたファイルがある。この中からフラグを見つけ出せ! 

 先程と同じように覗いてみると

GET / HTTP/1.1

Host: 172.27.132.124

Connection: keep-alive

Authorization: Basic YWRtaW46dGVzdHRlc3R0ZXN0

Upgrade-Insecure-Requests: 1

User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.102 Safari/537.36 Vivaldi/1.94.971.8

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8

Accept-Encoding: gzip, deflate

Accept-Language: en-US,en;q=0.8

 の中にあるAuthorization: Basic YWRtaW46dGVzdHRlc3R0ZXN0が暗号に見えたのでbase64でデコードしたら狙い通りヒットしました。

admin: SCKOSEN{basic_is_unsecure}とでてきたのでそれを入力して終わりました。

 SCKOSEN{basic_is_unsecure}

 

18 Web ログインせよ

adminとしてログインせよ

ログインするためのURLが添付されていました。

ただこれはSQLインジェクションで叩けばOKでした。

SCKOSEN{sug0-i_ta-n0sh1-}

これは余談ですが、フラグのoを0やiを1に変える人って大体ゲーマーに多いのでお友達になりたいなと思っていましたヾ(@°▽°@)ノ

 

21 Web2

 穴埋めクイズみたいな感じのJSプログラムがありました。

これは専門外なので他のチームメイトに解かせてできました。 

SCKOSEN{4c0bf259050d08b8982b6ae43ad0f12be03f191

 

後書き

これが僕達が解けた問題の一覧になります。

なにも知識が浅い状態で意外とできていたので良かったなと思いつつこれからも勉強を頑張ろうと思います。

しかし、学生運営のとくにおのかちおとか先生が「え?一年生に負けたの??????」と煽ってくるので今度襲いかかろうと思います。

悔しさをバネにしっかりと勉強して次の大会ではもっと上位目指して行きたいと思います!!!

 それでは失礼します。

やっぱり最後に飯テロしておきます。

 

 それでは失礼します。

またお会いしたときは是非よろしくお願いします!

 

 

                 チームKEMG ぽっちゃま(KEMGのKの人)