- セキュリティ
社内CTFイベント MiniCTF2025 開催レポート

~EXEOCTF主催 組織横断型のセキュリティイベント~
はじめに
おはようございます。エクシオグループ4年目エンジニアの二木です。
本ブログでは、2025年8月28日に開催された社内CTFイベント:EXEOCTF Minimum Edition(通称、MiniCTF2025)の開催レポートをお届けします。
今回の社内CTFイベントは、CTF初心者/初学者の方々を対象とした体験型イベントとして企画され、エクシオグループ各社から多くの方にご参加いただきました。
本施策の背景・目的
MiniCTF2025は、2025年度4Qに予定されている社内CTFコンテスト "EXEOCTF" への円滑な実施に向けた事前施策として立ち上げられました。
社内におけるCTF活動の認知度向上、参加意欲の醸成、そして運営体制や技術的課題の早期把握・対応力強化を目的としています。
段階的な取り組みにより、全社的な理解促進と知見の蓄積を目指しております。
CTFとは?
CTF(Capture the Flag)とは、サイバーセキュリティのスキルを競う競技形式のイベントです。名前の由来は、もともと軍事訓練やゲームで使われる「旗取りゲーム」から来ていますが、CTFでは「旗(Flag)」は特定の課題を解いたときに得られる文字列を指します。
CTFでは大きく分けて2つの形式があります:
- Jeopardy形式
- クイズ番組のように、複数カテゴリ(例:Web, Crypto, Pwn, Forensicsなどなど)に分かれた問題が用意されており、好きな問題を選んで解いていきます
- 問題を解くと「flag(例:flag{this_is_a_flag})」が得られ、それを提出して得点します
- Attack & Defense形式
- チーム同士が仮想環境でサーバーを守りながら、他チームのサーバーを攻撃します
- 守りながら攻撃するという、より実践的なスキルが求められます
ここでは、一般的なJeopardy形式のCTFで出題される代表的な分野について、簡単にご紹介します。
代表的なカテゴリ | 内容の例 |
Web | 脆弱なWebアプリの解析や攻撃(SQLi, XSSなど) |
Crypto | 暗号アルゴリズムの解析や破り方 |
Pwn | バイナリ解析やバッファオーバーフローなどの脆弱性攻撃 |
Forensics | メモリダンプ、ディスクイメージ、ログ解析、パケットキャプチャなどから情報を抽出 |
Reversing | 実行ファイルの逆アセンブルして動作を解析 |
Misc/OSINT | その他トリビア、OSINTやプログラミング問題など |
MiniCTF2025の概要
以下にMiniCTF2025の概要を記載します。
イベント名 | EXEOCTF Minimum Edition - MiniCTF2025 - |
開催日 | 2025年8月28日(木) 13:10 JST ~ 17:30 JST |
参加形式 | チーム戦(各部署・担当ごとにチーム編成/最低2人) |
想定難易度 | CTF初級(初心者・初学者も楽しめる <- ここ重要) |
開催方式 | 完全リモート |
競技時間 | 約2時間 |
参加チーム一覧
EXEOCTF運営メンバの協力により、以下の企業から参加者が集いました。参加者数は計31名、参加者側の窓口(参加者側の上長)も含めると、総勢40名以上です!(小規模とは。。。)
ご協力ありがとうございます \(' A ')/ ~~ FLAG
参加企業 | 参加者数 |
エクシオグループ株式会社 | 4名 |
エクシオ・システムマネジメント株式会社 | 2名 |
エクシオデジタルソリューションズ株式会社 | 2名 |
大和電設工業株式会社 | 12名 |
日本電通株式会社 | 3名 |
西部電気工業株式会社 | 3名 |
株式会社エクシオテック | 3名 |
株式会社エスエーティ | 2名 |
※なお、個人情報の観点から参加者氏名等は控えさせていただきます。
問題構成・出題方針
参加ハードルを下げるため、外部CTFの問題をより簡単にアレンジしたものを中心に構成し、CTFが初めての方でも十分に楽しめる構成としています。
出題分野は:Web, Crypto, Forensics, Reverse Engineering, Pwn/BInary Exploit, Misc/OSINT などなど、
CTFにおける代表的な分野を網羅しています。
特にMisc/OSINT, Web, Forensicsは問題数多めです。問題作成は主に二木が担当しました。
得点についてですが、すべて100ポイントとしています。開発当初は、難易度毎に100、200、300~みたいな感じで分けるかぁと思ってましたが、作っていくうちに「あれ、難易度の定義って難しくね?」「CTFやったことない人でも楽しめる難易度だと、どの問題も一緒じゃないか?」という考えに至りって感じですね。
以下に、実際に出題した問題の概要を記載します。
問題名 | カテゴリ | 求められるスキル | 想定ツール |
DevTools_Training | Web | ブラウザ開発者ツールの基本的な使い方 | ブラウザ開発者ツール |
Cookie_Monster | Web | Cookieの書き換え | ブラウザ開発者ツール |
Insecure_Login | Web | 単純なSQLi攻撃 | ブラウザ |
Climb_the_Directory | Web | 単純なディレクトリトラバーサル攻撃 HTTP GETパラメータ | ブラウザ |
Trusted_Referer_Only | Web | HTTPヘッダの改ざん Referer偽装によるセキュリティバイパス | BurpSuite等のWebプロキシツール |
Hidden_Message | Crypto | Base64エンコード/デコード | CyberChef |
Ancient_Letter | Crypto | シーザー暗号の解読 | CyberChef |
Password_Crack_01 | Crypto | MD5ハッシュ値のクラック | CrackStation John the Ripper |
Prime_Hunter | Crypto | RSA暗号に用いられる公開鍵の知識 素因数分解ツールの使い方 | Msieve FactorDB |
Suspicious_IP | Forensics | SSHアクセスログの解析 | grep等の文字列検索 |
Captured_Credentials | Forensics | Basic認証時のパケット解析 | wireshark |
Log_Injection_Detection | Forensics | Webアクセスログの解析 単純なOSコマンドインジェクション攻撃 | grep等の文字列検索 CWE番号検索ツール |
Lost_Homepage | Forensics | wiresharkを用いた通信オブジェクトの復元 | wireshark |
Easy_Strings | Reverse Engineering | stringsコマンドの使い方 | stringsコマンド |
Wrong_Extension | Reverse Engineering | ファイル実態の簡易調査 ファイルヘッダからの実態調査 | fileコマンド Bzバイナリエディタ |
Static_License_Check | Reverse Engineering | Pythonの基本的な構文 条件分岐構文のトレース | VSCode等のエディタ Python3.x 実行環境 |
Welcome_to_the_Pwn | Pwn/Binary Exploit | ncコマンドの使い方 N進数の計算 | ncコマンド N進数の計算ができる電卓等 |
Segfault_Practice | Pwn/Binary Exploit | バッファオーバーフローによる関数コールスタックの破壊 | ncコマンド |
Become_Admin | Pwn/Binary Exploit | バッファオーバーフローによるローカル変数の改ざん | ncコマンド |
Wayback_Dendai | Misc/OSINT | wasyback machineを用いたWeb Archive検索 | wayback machine |
Where_was_this_taken? | Misc/OSINT | exiftoolを用いてファイルメタ情報からGPSを取得 | exiftool |
What_is_this_Place? | Misc/OSINT | 写真の建物から撮影場所を特定 | Google Lens Google Maps |
Puzzle_QR | Misc/OSINT | QRコードフォーマットに関する知識 アライメントパターン タイミングパターン | 画像編集ソフト |
後ほどですが、違う記事にていくつか問題の解説を書きます。CTFで云うところのwriteupってやつですね~
結果
先ずはトップ10チーム

続いて、全チームのスコアおよび順位
順位 | チーム名 | 会社 | スコア |
1 | team_exeogroup | エクシオグループ | 2400 |
2 | team_sat | エスエーティ | 2400 |
3 | team_eds_04 | エクシオデジタルソリューションズ | 2400 |
4 | team_esm | エクシオシステムマネジメント | 2400 |
5 | team_eds_02 | エクシオデジタルソリューションズ | 2400 |
6 | team_tech | エクシオテック | 2400 |
7 | team_eds_01 | エクシオデジタルソリューションズ | 2400 |
8 | team_eds_05 | エクシオデジタルソリューションズ | 2400 |
9 | team_ndk | 日本電通 | 2300 |
10 | team_seibu_d | 西部電気工業 | 2300 |
11 | team_ddk | 大和電設工業 | 2100 |
12 | team_eds_03 | エクシオデジタルソリューションズ | 1800 |
ちなみにですが、全問題を解くと2400ポイントになります。
どのチームもほとんどの問題を解いていることがわかります。競技時間中、何チームかのブレークアウトルームに参加して感想などを聞いていたのですが、「Google検索を駆使すれば何とか解けた」という話が多かった印象です。
本施策の目的は、技術力の向上というよりかは、CTFイベントそのものを体感して知ってもらうという要素が強めなので、問題設計なども丁度よかったんじゃないかなぁと個人的に思いました。(次回以降はもう少し難しく設計しよう。。。)
参加者アンケート
CTFイベント終了後に参加者向けのアンケートを実施しました。
現時点では、全員の回答は終えていませんが、共有できる範囲で公開いたします。





CTFイベントへの参加形式ですが、意外にもオンサイト希望者が多いみたいです。

理由としては、人事交流や問題解決までの速度などなど、主にコミュニケーション関連が多かったです。
次回以降は、オンサイト開催も視野に入れないとかもしれませんね~
最後に
ながーい記事になってしまいました。。。
二木の個人的な感想としては、本施策(MiniCTF2025)を通じて、様々なメンバーとの交流、そしてCTFというハッキングコンテストの理解につながったのではないのかなと感じています。これも、運営メンバー含む多くの参加者様のおかげです!
このような小規模CTFは単発で終わらせずに、定期的に継続して取り組むのが重要だと考えております。
このブログを読んだ、そこのあなた 次回は是非参加を申し出てくださいね。