🗝️

セキュリティコンテストってどうはじめる?はじめて解いてみた

に公開

この度、picoCTFに登録してセキュリティコンテストの問題を解いてみたので、経緯をまとめます

※CTF(Capture The Flag)とは、セキュリティの穴を突いて攻撃を仕掛けられる"練習環境"で、「Flag」と呼ばれる文字列を見つける競技です

1. 本で雰囲気を知る

「入門セキュリティコンテストーーCTFを解きながら学ぶ実戦技術」という本でCTFの雰囲気を感じることができます

セキュリティに詳しい強い先輩とCTFを一緒に解いた感覚になり、CTFの全体像や雰囲気を掴める本です

https://amzn.asia/d/c3AlReD

自分が学んだことメモです:

  • CTFはCTF用に準備された脆弱なプログラムの解析で「Flag」と呼ばれる隠された文字列を探す競技
  • リバースエンジニアリング、暗号、Webセキュリティ問題など問題にジャンルがある
  • 時にはバイナリを読んだり、プログラムのコードを読んだりする必要がある

読書好きな私が強く「人に勧めたい」とオススメできる本なのでぜひお手に取ってみてください。

開いて「アセンブリとか、むず!!」と感じる方は

Chapter4のWebセキュリティ問題がとっつきやすいです

2. Youtube動画を参考にpicoCTFに登録&練習問題をトライ

参考になるYoutube動画

CTFの紹介と、picoCTFの登録方法を解説してくれるVTuberのkurenaifさんの動画がわかりやすいです

https://www.youtube.com/watch?v=jPc5GH_jz4o&t=292s

(忙しい人は、最初の5分くらい見れば登録&簡単めな練習問題で雰囲気がわかります)

練習問題にトライ

雰囲気がわかったら、練習問題を自分で選んで解いていきます

私のpicoCTFの おすすめジャンルは「Web Exploitation」 です

Webページのテキストボックスに文字列を打ち込んで攻撃するので直感的でわかりやすいです

文字列によっては、Internal Server Errorを起こせたりして、

「何か、挙動変わった、攻撃効いてるぞ〜〜〜!!」と面白いです

そこからFlagの文字列に辿り着くまでは、より頭を使って攻撃文字列を考えたり、

サーバーで使われているフレームワークに当たりをつけたりする作業が必要です

すぐに答えに辿り着かない分、解答の文字列:"picoCTF{hogehoge}" にたどり着いた時の

「やったーーーーーー!!!」という喜びの気持ちがすごいです(解けたらこうなると思います笑)

3. 分からないときはClaudeにヒントをもらいながら解く

「分からない、終了!」とする前に、Claude先生に聞くとヒントが得られたりします。

Claudeに問題の断片を伝えながら、次の攻撃アクションを考えます。

自然言語の質問ベースで問題を説明して質問すると、

いい難易度のヒントとして回答が返ってくるので、なんとかフラグを見つけることができます

picoCTFのEasy問題も初心者には普通に難しいので、フラグを見つける喜びがクセになりそうです

4. Writeupを公開してみる

自分の解法を共有する、Writeupという文化があるそうです。

私も自分がどうやって解いたのかアウトプットしておきたくて、

Zennのスクラップを作って投稿し始めました

よかったらこちらもご覧ください

https://zenn.dev/meirai/scraps/4c4ced159cfb4f

Discussion