🔐

完全初心者! SECCON Beginners CTF 2025に挑戦

に公開

はじめに

こんにちは、25卒新卒エンジニアのtakiです。

これまでセキュリティについて深く学んだことはなかったのですが、新卒研修の中にセキュリティ研修があり、講師の方が用意してくださった脆弱性のあるアプリケーションを題材に、実践的にセキュリティを学びました。

その研修の最後に、「SECCON Beginners CTF 2025」という初心者向けのCTFがあることを紹介いただきました。初心者向けなら試しに出てみてもいいかもと思い、同期3人でチームを組んで参加することにしました。

ただ、当日参加できたのは2人。どちらもCTFは未経験で、どんな問題が出るのかもよくわからないままの状態での挑戦でした。

結果は880チーム中259位。決して上位ではありませんが、参加してみて得たものはとても多く、何よりとても楽しかったです。この記事では、その記録をまとめてみようと思います。

CTFって何?

CTF(Capture The Flag)は、セキュリティに関するさまざまな知識やスキルを使ってフラグ(flag)と呼ばれる文字列を探し出す競技です。
ジャンルはさまざまで、暗号、Webアプリケーション、リバースエンジニアリング、バイナリ解析、ネットワーク…といった幅広い分野が扱われます。

最近は「初心者向け」と書かれているCTFでも、実際にはかなり難しいものが多いと聞きました。
そんな中で、SECCON Beginners CTFは「本当に初心者向けのCTFが必要だよね」という思いから作られたものだそうです。

今回のCTFでは以下のカテゴリの問題が出題されました:

  • Web: Webアプリケーションの脆弱性を突いてフラグを取得する問題
  • Crypto: 暗号・復号に関する問題
  • Misc: ジャンルにとらわれない小ネタ系やパズル系の問題
  • Reversing: 配布された実行ファイルなどを逆解析してフラグを探す問題
  • Pwnable: メモリ操作やバッファオーバーフローなど、より低レイヤー寄りの問題

私が取り組んだ問題

私が解いた問題一覧

解けた問題は全部で10問でした(Beginner:5問、Easy:3問、Medium:2問)。

学生時代にC言語を扱ったことがあったので、バッファオーバーフローに関する問題では、そのときの知識が少し活かせました。

CTFっぽいことができたなと特に印象に残っているのは、ReversingのMedium問題「D-compile」です。

この問題では実行ファイルが配布され、それを解析してフラグを見つけるというものでした。最初は「これ、何をすればいいんだろう…」という感じでしたが、調べていく中でGhidra(ギドラ)というツールの存在を知り、試してみることに。

Ghidraでバイナリを開いて、関数一覧(Functions)を確認してみると、Flagに対応する配列を見つけることができました。
それらを繋ぎ合わせてFlagを完成させたときは、とても達成感がありました。

Hard問題「MAFC」も同じような手順で挑戦してみたのですが、こちらはうまく解析できず、途中で断念…。
あとでWrite Upを読んで、どんなアプローチがあったのか学んでみようと思っています。

💡 Write Upとは?
他の参加者が解いた方法や考え方をまとめた記事。
解けなかった問題の復習や、他のアプローチを知るための貴重な資料。

(Write Upを読んだところ、D-compileのバイナリは最新版のGhidraでないと逆コンパイルができないという情報をみつけました。Ghidraを当日インストールし、最新版を使えていたのはラッキーだったみたいです。)

振り返って思うこと

問題に取り組む中で、以下のようなことを行いました:

  • 開発者ツールでページの挙動やリクエストを観察する
  • 適当な値を入力してレスポンスの変化を確認する
  • curl や ping で通信を試す
  • 配布されたコードを読み、処理の流れや脆弱性を探す

こうした操作はある程度馴染みがありましたが、Ghidraのように、使うまで存在を知らなかったツールもありました。
今回は、問題の中でその存在を知って、調べながらインストールし、使い方を学ぶという流れでしたが、事前にCTFでよく使うツールを調べておくだけでも、対応できる幅が広がったのではないかと思います。

おわりに

私は、昔からIQサプリのような謎解き番組やリアル脱出ゲームが好きです。
CTFもそれに通じる楽しさがあって、まさに“エンジニア向けの謎解き”という感じでした。
とても面白かったので、また別のCTFにも挑戦してみたいと思っています!

今後はもう少し難しい問題にも取り組めるように、以下のような初心者向けCTFプラットフォームで学んでいこうと思っています:

CTFの開催情報は CTF time というサイトで調べることができるみたいなので、こまめにチェックしていきます!

おすすめしたい人

  • 謎解きや脱出ゲームが好きな方
  • ロジックや推理が得意/好きな方
  • セキュリティに興味があるけれど、どこから始めたらいいかわからない方

そんな方に、CTFはとてもおすすめです!
「難しそうだからやめておこう」ではなく、まずは初心者向けの問題を1問だけ解いてみるところから始めてみてはいかがでしょうか?

GMOペパボ株式会社

Discussion