Szarny.io

There should be one-- and preferably only one --obvious way to do it.

SECCON Beginners 盛岡のwriteup

もうだいぶ前になりますが,6/19に盛岡情報ビジネス専門学校で開催された,SECCON Beginners 盛岡に参加してきました.

2017.seccon.jp

 以前からセキュリティについては勉強していましたが,実際に攻撃するだとかネットワークをキャプチャするだとかの方面にはほとんど手を出しておらず,内心まずいと思っていました.

そんな時にどこかで聞いたことのあったCTFのイベントが近くである,という話を聞いて早速応募しました.

今回はそのwriteupです.

1. ガイダンスと倫理

最初はCTFについてのガイダンスと実際に行うにあたっての倫理観についてでした.

何か攻撃手法を知ったりするとつい試したくなりますけど,気を付けないとダメですね.(電子計算機損壊業務妨害とか不正アクセス禁止法とかで御用になりかねない)

特に「脆弱性の発見は免罪符ではない」という戒めは記憶に新しいです.

2. Web

最初の講義はWebでした.

SQL-injection,クロスサイトスクリプティング(XSS),OS-command-injection,ディレクトリトラバーサルあたりは勉強済みで,普段Web関連の開発をしてるのでHTTP,HTML, JSあたりはスルスルと理解することができました.

今回の講義では簡単なSQL-injectionの手法が紹介されましたが(passwordに1' OR 'a' = 'a etc),後々調べてみるとBlind SQL-injectionとかunionによる結合とか,結構奥が深いんだなと思い知らされました.

今までやってきたWeb開発の中にも,様々な脆弱性が入り込んでるんじゃないかと考えると恐ろしくなります.時間に余裕ができれば徳丸本を一通りやってみたいです.

3. Forensic

Forensicの中でもネットワーク周りに重点を置いた講義でした.(他にも破損ファイルの修復やログの検査とかのジャンルがあるそう(?)です)

ネットワークも知識的な部分はカバーできていましたが,ネットワークプログラミングみなるとお手上げ状態でした.C言語とかJavaとかのネットワークプログラミングが全く理解できなかった(食わず嫌い)ので,避けてた部分がありましたが,終わった後Scapyで少しやってみたらそこまで難しくなく,パケットの自作や送受信も楽に行えたので,これから徐々に勉強していこうと思います.

その後,Wiresharkを用いたパケット解析を行って終了となりました.Scapyと組み合わせて使うとWireshark単独よりももっと詳しい解析ができていい!

4. Binary

昔から「高水準言語使ってプログラミングできればいいからアセンブリ言語とかバイナリとかは触れなくてもいいでしょ」という理由にならない理由から避けてきていましたが,実際コンパイルされた後のアセンブリ言語を1つ1つ読むと,コンピュータが裏側で何をしているのか肌で感じることができますね.

今回の講義では,x86アーキテクチャアセンブリ言語の解説と,関数呼び出し手スタックフレームに追加するときのポインタのあれこれについての解説がありました.いくつかの講義を終えて,午後の疲れてくる時間帯でしたが,資料がとても分かりやすくスイスイと進めることができました.

5. CTF

いよいよCTF本番です.

詳しい問題構成は忘れましたが,Binary Web Forensic がそれぞれ3~4問ずつだったような気がします.

WebはSQL-injectionやHTMLソースを読む問題とWebスクレイピングの問題がちらほら.が,時間の都合でWebスクレイピング問だけ解けず.以前から習得しておくべきでした.

Forensicはキャプチャ内にあるFLAGを抽出する問題と,キャプチャされた通信ログから通信内容を復元して,ファイルを開く問題でした.Basic認証が通信経路上で暗号化されないのは知っていましたが,Wiresharkで見るとモロに出ちゃうんですね.
こちらも時間がなく,通信内容の復元は断念.Wiresharkの便利なエクスポート機能を度忘れして無駄に時間を食いました( ;∀;)

Binaryは,1問も解けませんでした!
gdbで開いた瞬間,講義でチラ見したアセンブリの数倍長く,直感で後回しにしてしまいました(作問者の方には申し訳ないです<(_ _)>).後で解説を聞いてみると至極単純なプログラムで,解いておけば良かったと後悔.コツコツやってると大事なところだけが見えて来るらしいので頑張りたいです.

結果は2位の方とギリギリ差で1位でした( ^)o(^ )
最後の方に300点問題を偶然解けたのが大きかったかなと思います.頂いたステッカーは早速pcに貼付させてもらいました.

その後の懇親会もお菓子をつつきつつ,有益な話を聞くことができました.また,セキュリティやCTF関連のイベントがあれば参加しようと思います.

ありがとうございました(-人-)