yyy

CTFつよくなりたい

SECCON Beginners 2017 仙台 に参加した感想&Writeup(decodeme)

はじめに

誘おうとした友人はフィリピンに連れていかれるらしく,ぼっち参戦してきました.参加理由としては,ずっと行ってみたかったっていうのと,Webわからんっていうのと,SECCONステッカーが欲しかったって感じです.

以下,感想とCTF中に解けなかったバイナリ300のdecodemeのWriteupです.decodemeを帰りの電車の中でやってたら10分でフラグが出てきて,なんでこれ解けなかったんだってなりました.どうも時間が限られてるとプレッシャー的なものが働いて,脳死状態になるっぽくてダメっぽいです.

参加しての感想など

まずはオリエンテーション,そしてWebとForensicsとReversingの講義,その後にれっくすさんの話を聞いて,あとはみんなでワイワイCTFをしてました.

参加人数は60人ほどだったのですが,1位から5位まではステッカーが貰えるということで頑張りました.

CTFではReversingとかを普段やっていることもあって,1位を取ることができました.

スコアボードは見ないように解いていたのですが,運営の方々の声とかで自分が結構上位にいるなとわかりました,そして気づいたら1位になっててビビりました.

f:id:ywkw1717:20170924001220p:plain

自分はバイナリから解いていたのですが,バイナリを解く人が少ないので自分がバイナリをある程度解き終わった後は,ForensicsとWebの問題でそれぞれ解いた人数などが一目瞭然で,どれが簡単そうで難しそうかなどもわかって進めやすかったので,バイナリから解くバイナリアン戦法はオススメです.

decodeme(Writeup)

誰も解いてなかった問題です.

確かCTF中は,xorとかいろんな事やっていて解くのに時間かかりそうだなぁと思ったのですぐにForensicsに切り替えて,その後Webっていう順番で進めてました.

結果,本番中には解けなかったのですが,帰りの電車で見てみたところ,ただxorしてるだけやんけってなって解くことができました.

作問側への配慮で,少しぼかしたことを書きます.

問題としては入力値をある文字数受け取ってからその文字数分のループに入り,各文字とカウンタ変数とのxorを取って,それが"N1v\\F`anfgoy"と等しければctf4b{%s}の中に入れてその文字列を出力するようになっています.

よって,"N1v\\F`anfgoy"という文字列に対してある文字数分ループしてカウンタ変数とのxorを取ってやれば元に戻ります.

自分はPythonで数行のスクリプトを書いて求めました.

flagを一部隠しますが,以下のようなflagになるはずです.

ctf4b{N0t_XXXXXXXr}

まとめ

どの講義も初心者にわかりやすく,とても良質な講義だったと思います.

3つの講義以外にもとても良いことを仰っていて,佳山さんとれっくすさんの話が印象に残っています.

佳山さんの倫理の話では,我々が技術を悪用しないのは法律に関係なく,自分たちの仕事に誇りを持っているからみたいなことを,れっくすさんの話では,CTFは最近難化しているが,知的好奇心が強い人は必ず強くなれる,みたいなことを仰っていました.

あとは,Reversingの講義において,少ない講義時間でなにを教えようとしているか,どのようなことを覚えてもらいたいかなどをReversingの講義を担当したちひろさんに聞くことができました.

Reversingは他の2つと違って,覚えるべきことが多いと思うので,少ない講義時間で教えるのは大変だなぁと思いました.

そしてCTFですが,1時間弱というとても少ない時間でやるCTFは初めてだったので,いい経験になりました.

もっといろいろな人にBeginnersに参加して貰いたいなと思ったので,どんどん他の人にも勧めようと思います.

運営の方々,ありがとうございました!

おまけ

戦利品です.(((懇親会のコーラも頂きました)))

f:id:ywkw1717:20170924001832j:plain