家studyをつづって

IT技術やセキュリティで勉強したことをつづっています。

CTFについて勉強してみた

概要

CTFとは、capture the flagの略、DEFCONやSECCONをはじめとする、コンピューターのハッキング技術を競うコンテストなどで採用される競技です。

コンピューターセキュリティーに関する攻撃・防御の両方の立場から、暗号、ネットワーク技術、プログラミングなど、さまざまな問題を解くことで技量や知識を競うものです。
kotobank.jp

具体的には、問題を解くことでFlagと呼ばれる文字列を見つけ出し、解答すると点がもらえます。そして参加者同士で点数を競い合うゲームです。
CTFでは、以下の2種類の形式があります。

 

King of hills形式
問題サーバの脆弱性等からフラグを探し出す形式です。

f:id:iestudy:20190515234836j:plain

King of Hillsのイメージ

出典
https://www.slideshare.net/hiromu1996/ctf-32346373

 

Jeopardy形式(ジョパディ、と読むらしいです。)
Jeopardy形式は様々なジャンルの問題があり、それらを回答していく形式です。

f:id:iestudy:20190516002641j:plain

Jeopardy形式のイメージ

問題ジャンルの例

  • Binary
    プログラムの静的解析、リバースエンジニアリングを用いて隠されたフラグを探します。
  • Network
    通信のやり取りをしているログから、フラグやそれを得るための情報を探します。
  • Pwn
    プログラムの脆弱性をついたり、プログラムのバグや、Exploitコードを書いてフラグを探します。
  • Web
    SQLiや、XSSなど、Webアプリケーションに潜む脆弱性をついてWebサーバからフラグとなる情報を探します。
  • Crypto
    暗号化された情報からフラグを探します。

    https://iestudy.hatenablog.com/entry/2019/05/23/000609

  • Stegano
    画像や動画に隠されたフラグを探します。
  • Forensics
    壊れたデータや、ファイルから情報を復元してフラグを探します。
  • Misc
    その他諸々の問題が含まれます。

 

CTFについては、「常設CTF」等と検索するとCTFを体験できるサイトが見つかります。

ksnctf

ksnctf.sweetduet.info

 

akictf

ctf.katsudon.org