196の日記

完全に開発メモと雑談、その他忘れそうな計算式などを書き溜める場所になっています!

【初参加】SECCON 2018 for beginners Write up(5/26-27) (ノ・Д・)ノ

めちゃ眠いです笑 ちょうど今日の13時、日をまたいで行われたSECCONが終わりました!ずっと参加したかったんですが、やっぱり敷居が高くて(勉強もしてなくて)、、しかもオンラインでの開催ということでとても良い機会でした。まぁ、もちろん簡単なものしか解けなかったので、このWrite Upもそのくらいの程度のレベルです笑 復習です!

ちなみにもうWriteUpすら終わらしている方がいらっしゃいるようなので正確な回答を求める方はこちらで。僕はあくまで解けたやつと惜しかったやつのみ喋ります笑(自分のため)
SECCON Beginners CTF 2018 Write-up






途中仮想環境のデータが全部消えちゃって、いくつか努力の跡がなくなっちゃいましたが、なんとか書き下していきます



[Warmup] Greeting 51pt

下のサイトにアクセスしてadminでログインしたらフラグが表示されます。



そのままフォームに"admin"と入力すると偽管理者となってしまうので、僕はCookieに保存された$usernameをchrome 拡張で書き換えた後、ctfのサイトのリンクからもう一度訪問しました。するとPOSTには値が入っていないので、Cookieの書き換えた$usernameを参照してくれて、adminになれました。

f:id:thinline196:20180527184626p:plain
ctf4b{w3lc0m3_TO_ctf4b_w3b_w0rd!!}




[Warmup] plain mail 51pt

これ今回相方だった人が解いたので詳しく覚えていませんが、pcapファイルが与えられるので、その中で、'今からファイルとパスワードを送るぜ'という会話をしていることがわかります。あとはその中のzipとパスワードを取り出せばokらしい!

でzipファイルを取り出さなければなりません。とりあえず、pcapファイルをWireSharkで開きます。そのあと、明らかになんちゃら.zipとか怪しいパケットがあるので、上の条件欄でそれ関係のものしか表示しないようにしましょう。
f:id:thinline196:20180527221043p:plain


このあと、左上の[ファイル]>[オブジェクトをエクスポート]>[IMF]とたどると、保存できるもの一覧が出るので一応全部保存.拡張子は.emlにしてください(正確にはzipが窓で確認できるやつだけで良い) この時はおそらく、TCPストリームを開くと前後の会話や通信は表示されず、zipを送ったパケットのみが表示される状態であると思うので、それを目安に。で、このemlファイルはメール系の拡張子だそうで、thunderbirdで開くことができます。(右クリックからプログラムから開くで開いてください。サンダーバードはブラウザ経由で入れると思うので、ダウンロードしたあと、thunderbird/thunderbirdを実行して、メールを開くためのアプリケーションであると認識させてあげてください。そうしないと、プログラミング一覧に表示されません)
で、うまく開けるとzipがダウンロード可能と出るのでそれを保存。最後に、メールにあった_you_are_pro_のパスワードを入れることでフラグが入手できます。

f:id:thinline196:20180527222104p:plain
ctf4b{email_with_encrypted_file}




[Warmup] Welcome 51pt

問題の説明欄には'フラグは公式IRCチャンネルのトピックにあります'とありました。公式ページのルール説明の欄に、今大会に関する情報はツイッターIRCから発信するとのことが書いてありましたので、そこに飛びました。 なんか適当にいじっていたら画面上部に表示されてるのを見つけました。無事フラグ回収。それにしても僕はこれ初めて触りました。

f:id:thinline196:20180527202835p:plain
ctf4b{welcome_to_seccon_beginners_ctf}



[Warmup] Simple Auth 51pt

実行可能なファイルが配られるので、chmodをして実行可能にしたところでいざ走らせると、パスワードを聞かれました。
もちろん知りません。バイナリで開きましょう。僕がよく使うのは下のコマンド

$ objdump -d -M intel ファイル名
||
もしくはgdbとかはデバッグがしやすいです。

[f:id:thinline196:20180527224151p:plain]


そして明らかに怪しい部分発見。auth内ですし1文字ずつ読んでるし、これを全部文字に変えたら終わりです。
<b>ctf4b{rev3rsing_p4ssw0rd}</b>




** [Warmup] Veni, vidi, vici 51pt

このタイトル、カエサルから来ているそうで、もちろんカエサル?シーザー?暗号系ってことがわかる。(ちなみに本番中にググった) 一緒に3つのファイルが配られる。1個目、これは適当にシフトしていった。フラグの始まりが特徴的なので、多少引っ掛けもあったけれど、とりあえず形になった。

>||
Gur svefg cneg bs gur synt vf: pgs4o{a0zber
The first part of the flag is: ctf7b{n3more


2つ目、the secondぐらいは検討をつけてから手をつけてみた。多分あってると予想。

Lzw kwugfv hsjl gx lzw xdsy ak: _uDskk!usd_u
The second part of the flag is: _cLass!cal_c

3つめ、これは逆さまになってるアルファベッドに似た文字たち。普通に元どおりにしてみた

{ʎɥdɐɹɓ0ʇdʎᴚ :sı ɓɐlɟ ǝɥʇ ɟo ʇɹɐd pɹıɥʇ ǝɥ⊥
Rypt0graphy}


これで一応揃ったけれど、フラグの形式がctf4bなので、少し悩む。。。結果から言うと、

ctf7b{n3more_cLass!cal_cRypt0graphy} //そのまま
ctf4b{n0more_cLass!cal_cRypt0graphy} //正解

数字を−3したのが答えに。
ノーモアなんちゃら感ちゃらーってなりました(・ω・)(0は計算しないの?!とか思わない)


てけいさんえくすとりーむず 55pt

300秒中に100問の四則演算を解く問題。”nc tekeisan-ekusutoriim.chall.beginners.seccon.jp 8690” に接続すれば対話式で進んでいきます。1問につき、通信時間込みで3秒で解かなければいけません!って話ですが、スクリプト組みましょう。実は真面目にpythonを触るのは初めてでした!ホントにifすら書けなかったので、関数すら作ってないです。しかも、本番中はpython2系でやっていたですが、訳あってデータが飛んで、、、組み直しました。しかもpython3環境で作ったので少し仕様も変わったと言う、、


f:id:thinline196:20180527230626p:plain

ctf4b{ekusutori-mu>tekeisann>bigina-zu>2018}




僕らにはまだこれで限界だった

んーめっちゃ楽しかったんですけど、やっぱり振り返ってみるともっと解けたらよかったなと言う感じです!までも、これから勉強を始める身としては今回は素晴らしい機会だったと感じました。2、3ヶ月に1回程度開いて欲しいです!有料でも多分参加すると思います。それくらい収穫があった今回でした。



ちなみに、順位は 316 / 844 位 終わってみたら半分切ってて、びっくり!勉強を目的にしてたので少しでもいい結果が残ってたのは素直に嬉しかったです!
f:id:thinline196:20180527231007p:plain




でも、他のチームを見ていたらやっぱりおばけみたいな方ばっかりですね!僕もおばけになれるように頑張ります。





次回は、解けそうで解けなかった問題を振り返ろうと思いますが、他の方のWriteUpを見ながらやるので、僕のタイトルには"Writeup"はつけないと思います。(ctf4bぐらいは書く) 以上。