1. rinr0q

    Posted

    rinr0q
Changes in title
+CpawCTFからやさしい問題を抜き出してみる回
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,80 @@
+# CpawCTFからやさしい問題を抜き出して解いてみる回
+
+この記事はmyjlabアドベントカレンダーの10日目です。
+
+今回は以前より書こうと思っていた初心者向けCTF入門記事です。
+
+以前弊研究室の院生である[@marutaku0131](https://qiita.com/marutaku0131)氏とおはなししていたときに「CTF、一度チャレンジしてみたことがあるが、問題を見たときに何をしたらいいのかさっぱりわからなくて敷居が高いように感じた」と聞きました。
+
+確かに解く上での取っ掛かりの探し方、考え方が醸成されるまでの厳しさはあるなと感じていたので、初心者の感覚を忘れないうちに備忘録的に記しておこうと思います。
+
+## いやまずCTFについて教えてくれ
+
+CTF:Capture The Flag
+
+コンピュータ関連の技術を用いて、隠された旗(FLAG)を探し出すというゲームのこと。ここでは特にJeopardyと呼ばれる、様々なジャンルから問題が出題される形式のものを指す。
+
+今回は特に常設コンと呼ばれる、インターネット上で常に公開されており、制限時間のないCTFについて解いていきましょう。
+
+ジャンルとして今回ピックアップした問題はそれぞれ
+
+- Misc:miscellaneous 他のジャンルに入らない問題
+- Crypto:Cryptography 暗号解読
+- Web:Webサイトのはなし
+- Forensics:ファイルのフォーマット調べたり壊れたもの復元したりするやつ
+- PPC:ぷろぐらみんぐ
+
+といったジャンルのものですね。
+
+
+CTF中はわからないことについてインターネットで調べることができます。考えてもわからないものはわからないので、とにかくいっぱいググるのがよいですね。
+
+__ただし「Write Up」とタイトルについているものは、他のプレイヤーが自分の解答をまとめたもの__ なので、問題と格闘したいときには見ない方がよいかもしれません。
+
+## 実戦
+
+今回は[CpawCTF](https://ctf.cpaw.site/)の問題のうち、特に環境を用意することなく、特に初心者が取り掛かりやすい問題を取り上げ、ヒントを示しながら一緒に5問くらい解いてみます。
+
+### [Q1.[Misc] Test Problem](https://ctf.cpaw.site/questions.php?qnum=1)
+
+ウォーミングアップとしてこのCTFにおけるFLAGの形式や提出について確認しましょう。
+
+ cpaw{xxx}
+
+ということで以降はこの形のFLAGを探します。
+
+### [Q6.[Crypto] Classical Cipher](https://ctf.cpaw.site/questions.php?qnum=6)
+
+Q1の次ですがQ6ですね。
+問題文にある通り、シーザー暗号を解読してあげればよさそうです。
+
+今回のように「シーザー暗号だよ!」と明記されていなかったとしても、タイトル「Classical Cipher」より、「古典的暗号」などと調べることで辿り着けるかと思います。
+
+「n文字ずらすよ!」といったヒントがない場合についても、文章そのものが暗号化されているならば、「この文字列がよく出てくるな?」といった視点で一部の文字対応が推測できることがありますね。
+また、アルファベットがそれぞれ一対一で対応するシーザー暗号においては総当たり攻撃が有効ですね。(1文字ずらしで復号、2文字ずらしで復号、3文字ずらしで復号、……といった感じでずらして意味が通る文章が出てくるまで続ける)
+
+### [Q9.[Web] HTML Page](https://ctf.cpaw.site/questions.php?qnum=9)
+
+CTFにおいてはタイトルが大きなヒントになります。今回はタイトルでも、問題文においてもHTMLがやたらと強調されているのでとりあえず指定されたページのソースコードを見てみましょう。
+
+Webの問題はなにはともあれとりあえずソースを見てから考えるのがよいですね。
+
+### [Q10.[Forensics] River](https://ctf.cpaw.site/questions.php?qnum=10)
+
+川の名前を探せばよいようです。
+問題文にもある通り、なんとかして __「Exif情報」__ を見ることができればよさそうです。
+これについてはもう考えても仕方なさそうなので、Exif情報を見る方法をGoogleで調べてしまいます。
+
+### [Q14.[PPC]並べ替えろ!](https://ctf.cpaw.site/questions.php?qnum=14)
+
+競技プログラミングのような問題(それにしてはちょっと簡単ですが)です。
+CTF中に小さなプログラムを書くことは多々あるので、これなら書ける! という言語がひとつあると取っ掛かりやすいです。
+
+## 後記
+
+CpawCTFは今まで触れてこなかったのですが、少し簡単というか、問題文がある上にかなり丁寧な誘導があるので解説とは、という気持ちになってしまいました。
+
+今回はWireSharkやLinux環境といった多少の事前準備が必要な問題を飛ばしていますが、これらの問題に関してもツールの導入として最適だなと思えるものばかりだったのでおすすめです。
+
+あと書いてるうちにLevel2が開放され……とかやってたら一生終わらないですね。
+