読者です 読者をやめる 読者になる 読者になる

BlogIsHowMuch

鑑賞した作品のレビューやプログラミング系のネタをダラダラ書いていくだけのブログ

SECCON2015予選 writeup

CTF WriteUp

f:id:HowMuch:20160102235648j:plain
去年12月上旬に開催されたSECCON2015の予選に参加したのですが、ほとんど問題が解けなかったのでwriteup書かなくていいやと思っていたのですが、記録ぐらいは残しておこうと思いまして、日は経ちましたが今更ながらwriteupを書きたいと思います。

回答できた問題

  • Start SECCON CTF (Exercises) 50点
  • Last Challenge (Thank you for playing) Exercises 50点

最初と最後の小学生でも解ける暗号の問題しか解けませんでした!非常にくやしい!
まあ、この悔しさをバネにしてガンバりゃあいいんすよ(´;ω;`)

もう少しで解けそうだった問題(いいわけ)

  • Unzip the file (Crypto) 100点

 ksnctfでpkcrackを使った経験があったのでその類似問題だろうと予測。zipの中身を観てみたところbacknumber08.txtというファイルが中に含まれていることがわかったのでGoogleで検索したところ
http://2014.seccon.jp/mailmagazine/backnumber08.txt
という実にそれっぽいファイルを発見!これをブラウザからダウンロードして、pkcrackを使って既知平文攻撃を開始。

しかし、失敗!ここで詰みました。
予選終了してから原因を探ってみた結果、どうやらbacknumber08.txtをブラウザでダウンロードした場合とwgetコマンドでダウンロードした場合では文字コードに違いが出てしまうようです。

root@kali:~/Desktop/unzip# file backnumber08.txt
backnumber08.txt: Non-ISO extended-ASCII text, with LF, NEL line terminators
root@kali:~/Desktop/unzip# file backnumber08A.txt
backnumber08A.txt: UTF-8 Unicode (with BOM) text, with CRLF line terminators

wgetでダウンロードしたファイルで試した結果無事既知平文攻撃成功。以後文字コードも気をつけます。

  • Command-Line Quiz (Unknown) 100点

 英語で出題されるLinuxコマンドクイズを解いていく問題。
英語が読めて初歩的なコマンドの知識があればあまり苦戦せずにラストの問題まで進むことができます。
しかし最後の問題で詰みました。てっきりflagファイルを読むためだけに特別なコマンドが用意されているものだと思いこみ、ひたすら見覚えのないコマンドが環境内に無いか探し回ったのですが見つかりませんでした。
正解はsedを使うそうです。

$ sed 's/s//' flags.txt

感想

 SECCONは日本のCTFでもトップの知名度だったこともあり取り付く島もないだろうと思っていましたが、意外と100,200点位の問題であれば自分でも解けそうな問題ちらほらあって心のハードルはやや下がりました(解けたとは言ってない)。
 問題は一通り見た感じQRコードを絡める問題が多かったように感じます。深い知識までは要求されていないようですが、QRコードについてもう少し知識を深められればなと思います。
 今回は一応チームで登録はしていたのですが他のメンバーとはほとんど連絡を取らずにやっていましたが、ほかのチームのwriteupを拝見すると一つの問題でも分担して解いているチームが多いことに気づいたので次回以降はチームのメンバーと相談するということも心がけたいです。
 あと個人的にはバイナリ系やリバースエンジニアリング系が弱いのでもっとそこら辺をwriteupを読みながら鍛えられればと思います。
おススメのトレーニング方法とかアドバイスがある方は教えていただけるとありがたいです!m(__)m