CTF
Capture The Flagと呼ばれる競技のこと
ルール
出題される問題に隠されたフラグ(Flag)と呼ばれる特定の文字列を入手し、解答することで得られる得点を競う 問われるもの
コンピュータやセキュリティに関係する知識・知見
攻撃(Exploit)の技術
データやバイナリの解析(Analysis)の技術
問題のカテゴリ
脆弱なWebサーバーへの攻撃
クライアント(ブラウザ)への攻撃
脆弱なバイナリへの攻撃
難読化されたプログラムの解読
暗号・署名・擬似乱数の解読や攻撃
データの解析
画像・音声・映像、通信記録、ディスクイメージ、メモリダンプなど様々
特定のカテゴリに分類できないもの
コンテスト形式
コンテストサイト
AtCoderのような集約されたコンテストサイトは存在しない
特定の企業・団体やCTFチームが各々でサーバーを建てて開催することが多い
恒常的に開催されているものは、常設CTFと呼ばれる 初心者向けのものが多く、CTFを始めるときは常設から解くのがおすすめ
常設でないCTFは、CTFTimeというCTFの情報をまとめているサイトに載ることが多い Upcoming eventsから開催予定のCTFの一覧が見ることができる
CTFTimeに載らないCTFも多数存在するのでTwitterなどで情報収集するとよい
CTFには競技終了後に自分の解法をWriteupとして公開する文化がある
昔のCTFは公式が問題の解法を公開していなかった。今は公式Writeupがあることも多い
わからない問題があったら、他の人のWriteupで復習するとよい
ペネトレーションテスト系の問題について
Hack The BoxやTry Hack MeもCTFの一種として扱われることがあるが、このWikiで扱うCTFとは異なる種類のものである
ツールなどを駆使してサーバーへの侵入を行うペネトレーションテストの問題はCTFではほとんど扱われない
侵入ツールや総当たりで解決するものではなく、もっと技術的な側面に焦点を当てたものが多い
このWikiではペネトレーションテストの話は取り扱いません