CTFって何?種類と参加方法を完全初心者向けに解説|CTF入門 #01
3行でわかるCTF
- CTFは、わざと脆弱性を仕込んだ練習用システムで、攻撃者の手口を合法的に試して学ぶ競技です
- 守る側にとっては、実際の攻撃を「自分の手で再現できる」最短ルートで、机上の知識を実戦感覚に変えられます
- 初心者は、常設プラットフォームの簡単な問題から始めて、writeupを読みながら手を動かすのが一番伸びます
「CTFってよく聞くけど、結局なに?」「興味はあるけど、いきなりハッキングなんて怖い」──そんな初心者向けに、CTF(Capture The Flag)の正体・ジャンル・参加方法・最初の一歩を、攻撃者と防御者の両方の視点で整理します。本記事はCTF・セキュリティ学習ハブの入門編(Step1)として、思考フレームワークシリーズ #01〜#20を読む前の地図になるよう設計しています。
本記事で紹介する技術や練習サイトは、必ずCTFプラットフォーム・公式ラボ・自分の検証環境内でのみ使用してください。他人のシステムやサービスに対して試すことは、不正アクセス禁止法・刑法等に違反する可能性があり、教育目的であっても許されません。学んだ知識は「守るために」使ってください。
🏴 CTF(Capture The Flag)とは何か
CTFは、意図的に脆弱性が仕込まれたシステムから「フラッグ(合言葉のような文字列。例:FLAG{this_is_a_flag})」を見つけ出す競技形式のセキュリティ学習です。DEF CONなどのハッカー大会を通じて広まり、いまでは世界中で常設プラットフォームと年間数百の大会が開催されています。重要なのは、CTFが「攻撃者と同じ発想を、合法な訓練場で体系的に試せる代表的な学習方法」だということです。

「合法な訓練場」って言っても、実際にハッキングするんでしょ?怖くない?

CTFの問題は「壊されることを想定して作られた」専用サーバーだよ。本物のサービスや他人のシステムには一切触らない。ここが普通の「ハッキング」と決定的に違う点で、参加者は許可された練習用ターゲットだけを対象にしている。ルールとスコープを守る限り、安全に学べる場所なんだ。
守る側の人にとっても、CTFは武器になります。攻撃者が「ログインフォームのわずかな応答時間の差からユーザー名を推測する」「ファイルアップロードの種類チェックを二重拡張子で回避する」といった具体的な手口を自分の手で体験していれば、設計レビューやコードレビューで「ここが危ない」と即座に気づけます。詳しい思考プロセスはシリーズ #01〜#20で扱いますが、まずはCTFという土台から押さえましょう。
🎯 CTFの主なジャンル(カテゴリ)
CTFの問題は大きく次のジャンルに分かれます。最初から全部やる必要はなく、興味のあるところから1つずつ深めるのが正解です。
- Web:SQLインジェクション、XSS、SSRF、IDORなど。Webアプリの脆弱性を突く。最初の一歩としておすすめ。 → #01 ログイン画面の攻撃者目線から読むとイメージが掴めます。
- Crypto(暗号):暗号方式の弱点、鍵長不足、実装ミスを突く。数学の素養があると有利。
- Pwn(バイナリエクスプロイト):プログラムのメモリ管理の弱点(バッファオーバーフローなど)を突いて制御を奪う技術。低レイヤの醍醐味だが学習コストは高め。
- Reversing(リバースエンジニアリング):コンパイル済みの実行ファイルを逆読みして仕組みや隠し文字列を解析する。ウイルス・マルウェア解析の基礎になるジャンル。
- Forensics(フォレンジック):通信記録(パケットキャプチャ)やディスクのデータから証拠や痕跡を復元する。セキュリティ事故の調査現場で直結するスキル。
- OSINT:ネット上の公開情報だけから人物や企業を調べ上げる技術。「こんな情報が外から見えているのか」と驚く体験ができる。

6ジャンルもあるなら、どこから手をつければいいの?

ほぼ全員に「Webから」と言える。ブラウザで普段から見慣れた環境だし、Burp Suiteというツール一本でかなり遠くまで行ける。Cryptoは数学が得意なら面白いし、Forensicsはインシデント対応に直結する。でも初めての1問は絶対Webが「あ、これか」ってなりやすいよ。
本サイトのCTF・セキュリティ学習ハブでは、まず取り組みやすい「Web」を中心にシリーズ #01〜#20で深掘りしています。
⚔️ CTFの大会形式:Jeopardy・Attack&Defense・King of the Hill
- Jeopardy(ジョパディ):ジャンル×難易度のマス目から好きな問題を選んで解く形式。初心者はまずこれ。picoCTFもこの形式。SECCON CTFや国内の主要大会もJeopardyが主流。
- Attack & Defense:自チームのサーバを守りつつ他チームのサーバを攻撃する。リアルタイムで攻防が起きる本格形式。DEF CON CTF Finals(米国)はこのスタイルで知られる。
- King of the Hill:1台のサーバの「制圧」を競う。長く保持したチームが勝つ。

Attack&Defenseって、自分のサーバーを守りながら他を攻撃するの?それ本当に同時にできるの?

できるけど、脳内がフル回転する感じになるよ。でも初心者がいきなりやる必要はない。まずはJeopardyで「解く体験」を積んで、チームで戦えるレベルになってから挑めばいい。DEF CON CTF Finalsは世界最高峰の大会で、出場チームを選抜するための予選(CTF Qualifier)を突破しないといけないレベルだから、当面は参考情報として知っておくだけで十分だよ。
🚀 初心者におすすめのCTFプラットフォーム
大会は決まった日時にしか開催されませんが、常設プラットフォームなら今日この瞬間から練習できます。最初に触るべき3つを紹介します。
- picoCTF(米カーネギーメロン大学):完全無料・日本語非対応だが英語は平易・問題が「教材」として設計されている。最初の1ヶ月の有力候補。基礎を広く触れる完成度の高さが魅力です。
- TryHackMe:ガイド付きの「ルーム(部屋)」を1つずつクリアしていく形式。初心者向けに段階的に難易度が上がる。一部有料。
- Hack The Box / HTB Academy:実機マシン攻略のHack The Boxは中級者向け。完全初心者はHTB Academy(ガイド付きの体系的な学習コース)やStarting Pointから入るとよい。

picoCTFって英語なんでしょ?英語が苦手でもついていける?

問題文は英語だけど、初級問題のほとんどは「find the flag」「decode this」くらいのシンプルな英語で、翻訳ツールで十分読める。それより重要なのは、解けなかった問題のwriteup(解説記事)を日本語で検索できること。picoCTFの問題名で検索すると日本語のwriteupが大量にヒットするから、英語より「調べる習慣」の方が大事だよ。
🔧 環境準備:何を入れればいい?
Webジャンルの初級問題なら、最初は普段のPCにブラウザ、ターミナル、Burp Suite Communityを入れるだけでも始められます。Kali Linux(セキュリティ用Linuxの一種)や仮想マシン(VM)は、Linuxコマンド操作やPwn・Forensicsに進みたくなってからで十分です。詳しい環境構築については、今後「Kali Linux と Burp Suite を最短で動かす」記事で扱う予定です。

Burp Suiteって名前が難しそう…無料で使えるの?

Community Edition(無料版)があって、WebのCTFを学ぶ分にはそれで十分。ブラウザとサーバーの間に割り込んで、送受信しているHTTPのやり取りをリアルタイムで見たり、許可された練習環境内で書き換えたりできるツールだよ。「アプリが裏でどんな通信をしているか」が見えるようになると、攻撃者の目線がガラッと変わる。
🧠 「答え」より「考え方」を持ち帰る:5フェーズ思考フレームワーク
writeup(問題の解き方を再現した解説記事)を読むだけだと、次の問題は解けません。本サイトのシリーズはすべて、次の5つのステップで「攻撃者がどう考えるか」を追いかけられるよう作っています。

writeupって結局「答え写し」にならない?

「先に読む」と写しになる。正しい使い方は「30分本気で詰まったら読む」こと。そして読んだあとに手元で同じ手順を再現する。なぜそのペイロードが効くのかが腹落ちして初めて「学んだ」になる。答えのコードをコピペするだけだと、次の似た問題で同じところで詰まるよ。
観察 — まず何を見るか
URL構造、入力フィールド、エラーメッセージ、レスポンスタイム、ヘッダー、Cookie。前提を疑わず事実だけを集める。
仮説 — 何が脆弱性になりうるか
観察した事実から「ここに穴があるかも」という仮説を複数立てる。
検証 — どう確かめるか
Burp Suite、curl、ffuf などで仮説を検証する。失敗もログを取る。
攻撃 — どう繋げるか
確認できた脆弱性を攻撃用のデータ(ペイロード)として組み立て、フラッグを取得する。
対策 — どう守るか
同じ手口を実環境で防ぐには何が必要か。本サイトの本来の主題はここ。
🗓️ 最初の7日間ロードマップ
「どこから手をつければいいかわからない」を解消するために、最初の1週間の動きを具体的にまとめました。1日1〜2時間で無理なく進められます。
- 1日目:picoCTFに登録し、General Skills の1問だけ解く(解けなくてOK、雰囲気をつかむだけでいい)
- 2日目:Linuxコマンド系の初級問題を2〜3問解く。
cat・grep・stringsを使う感覚をつかむ - 3日目:Web初級問題を1問試みる。わからなければ30分で諦めてwriteupを読んでいい
- 4日目:読んだwriteupの手順を、自分の手元で最初から再現する。コピペではなく打ち直す
- 5日目:Burp Suite Communityをインストールし、picoCTFや自分のローカル検証ページでHTTPリクエストを眺める。実在する他社サービスへの改変・連打・スキャンは絶対にしない
- 6日目:本サイトの#01 ログイン画面の攻撃者目線を読む
- 7日目:1週間で気づいたこと・詰まったことをメモにまとめる。次の1週間の目標を1つ決める

1日目でいきなり解けなかったら、やる気なくならない?

1日目は「解く」じゃなくて「雰囲気をつかむ」が目標だよ。問題ページを開いて、どんな構成か眺めるだけでいい。CTFは詰まるのが普通で、そこから調べて突破したときに力がつく。最初から全部解けたら、それはもう初心者じゃないってことだから。
📚 次に読むべき記事(Step2:思考フレームワーク #01〜#20)
CTFの全体像が掴めたら、次は具体的な攻撃面を1つずつ追っていきましょう。Webフォーム・API・サーバ攻撃面の主要20テーマがすでに公開済みです。
- #01 【ログイン画面の攻撃者目線】何を狙う?どう守る?
- #04 【検索フォームは脆弱性の宝庫】XSS・SQLi・入力検証の急所
- #06 【ファイルアップロード編】二重拡張子・MIME偽装・RCEの入り口
全20本の一覧は CTF・セキュリティ学習ハブ から。最新公開:#20 Web LLM編(プロンプトインジェクション)。

#01から#20まで全部読まないといけないの?

全部読む必要はないよ。自分が今やっているCTFの問題に近いテーマを選んで読む方が、ずっと頭に入る。「ログインフォームで詰まった」なら#01、「検索欄が怪しい」なら#04、みたいに辞書として使うイメージで十分。シリーズは独立してるから、どこから読んでもOKだよ。
🛡️ 守る側にとってのCTF:なぜ非エンジニアにも価値があるのか
CTFは攻撃者だけのものではありません。情シス担当者・Web担当者・経営層が「なぜパスワード使い回しがダメなのか」「なぜファイルアップロードを許す機能はリスクが高いのか」を体感する最短ルートです。AIによる攻撃自動化が進んだ今、人間に残る防御の仕事については【2026年版】「ホワイトハッカー不要論」はウソでも詳しく扱っています。実装側の防御の基本はパスワードセキュリティ完全ガイドから。

CTFって結局エンジニアの競技でしょ?コードが書けない自分には関係ないかな…。

むしろ「なぜこれがリスクなのか」を体感することが大事で、コードが書けなくても問題を解ける分野はたくさんある。OSINT(公開情報調査)やForensicsは、論理的思考力と調査力の方が大事だよ。情シスや管理職の人がCTFで「ファイルアップロードのリスク」を1問体験すると、仕様書のレビューで指摘できることが変わる。
✅ まとめ:CTFは「合法な訓練場」
CTFは、攻撃者の思考を安全に・合法に・繰り返し試せるめったにない学習環境です。ジャンル(Web/Crypto/Pwn/Reversing/Forensics/OSINT)と形式(Jeopardy/Attack&Defense/KoH)を押さえ、まずはpicoCTFで1問解くところから始めてみてください。1問解けたら、本サイトのシリーズ #01〜#20で「同じ攻撃面を、5フェーズで再構築する」訓練に進みましょう。半年ほど継続できれば、設計や仕様書のレビューで「ここは危ないかも」と気づける場面が確実に増えていきます。

よし、今日picoCTF登録してみる!まず何問解けばいい?

1問でいい。本当に1問で十分。「登録して、問題を開いて、1問に向き合う」だけで今日の目標は達成だよ。解けなくてもOKで、詰まったらwriteupを探して読む。それを繰り返すだけで、気づいたら見える世界が変わってる。
繰り返しの注意:本記事で紹介した技術を実環境のシステムに対して試すことは違法です。必ずCTFプラットフォーム、自分の検証環境、または許可された脆弱性診断スコープ内でのみ実施してください。
