WEST-SEC CTFとは

「8割解けるCTF」をコンセプトにしたWEST-SEC CTFは、答えとなるFlagを「ゲーム感覚」で探しながら、チーム「みんなで」力を合わせ、「楽しく」セキュリティの基礎知識・技術を網羅的に「学ぶ」ためのコンテンツです。

初心者でも参加できる!
参加者は、企業の情報システム部門で基礎を再確認したい人から、セキュリティに興味がある学生や非エンジニアまでを幅広く想定しています。

セキュリティの幅広い知識が学べる!
取り扱う問題は、簡単な用語解説の問題から法的な知識を問うもの、Webアプリケーションに攻撃をしたり、フォレンジック解析などの高度な内容までと多彩です。

チーム戦だから、みんなで楽しめる!
難易度は決して低くはありませんが、4人が1チームとなって、相談したり教え合ったりしながら進める形式のため、初学者でも参加でき、チームが協力することで、楽しくかつ、8割解けるように工夫しています。

参加者からいただいた声の多くは、「楽しかった!」です。皆様も是非ご参加ください。

1.CTFについて

(1)CTFとは

フルスペルに「旗を取れ(Capture The Flag)」とあるように、答えとなるFLAGを探すセキュリティのコンテストです。
セキュリティ知識や技術、経験を駆使しながら、FLAGの手掛かりを探し、時間内に答えを出すというプロセスは、謎解きゲームに通じるところがあると思います。

CTFの大会として、日本ではSECCON(Security Contest)が有名です。世界では、ラスベガスで開催されるセキュリティ技術者(ハッカーという言葉がしっくりくる人もいると思います。)向けのハッキングコンテストであるDEFCON CTFがあります。
https://www.defcon.org/

(2)どんな問題が出るの?難易度は?

SECCONなどの本家CTFの出題のジャンルは、暗号、フォレンジック解析、Webアプリケーション、バイナリ解析など、完全に技術者向けの問題です。プログラムの知識、シェルを含むLinuxのコマンドの知識、Wiresharkなどの各種ITツールを駆使する必要があります。

難易度ですが、めちゃくちゃレベルが高いです。参加は誰でもできますが、駆け出しのセキュリティの技術者では、手も足も出ないという状態の可能性もあります。2,3問解ければ上出来、なんてことはよくあると思います。

2.WEST-SEC CTFは?

InternetWatchにて紹介していただきました。
internet.watch.impress.co.jp

紹介動画は以下です。

現在は、特定企業・大学様などに個別に実施しているものと、connpassを使ってオープンに実施しているものがあります。どなたでも参加できるのは、後者になります。
west-sec.connpass.com

「8割解けるCTF」を目指すWEST-SECのCTFは、SECCONやDEFCONなどのCTFとは全く別物です。

(1)従来のCTFとの違い

①:難易度
SECCONなどのCTFは非常に難易度が高いです。一方、WEST-SECのCTFは、難易度がかなり低く、また、チームで相談したり、調べたりすることで、誰もが8割を正解できることを意識して作問しています。
 短い時間ですが、問題の難易度を下げ、また、チームで相談できるため、問題をたくさん解いてもらうことができます。結果として、幅広いセキュリティの知識に触れることができます。

②:出題内容
CTFはプログラミング技術やLinuxのコマンドを駆使したりして、フラグを見つけるものが中心です。WEST-SECのCTFでは、基本的なセキュリティ用語を学ぶため、単純な知識問題もたくさんあります。また、一部、コマンドを投入したりWiresharkを見たりすることもありますが、その場合でも高度な技術スキルが求められるわけではありません。

CTFのツールを活用しますが、相手と競う「競技」というよりは、みんなで学ぶ「学習」です。

(2)参加者の声(アンケート結果より)

直近のWEST-SEC#7では、役立ち度(とても役に立った、ある程度役に立った)が98.3%、満足度(大変満足している、やや満足している)が93.4%と大変好評をいただきました。
参加した皆様、ありがとうございました。
また、難易度や問題量に関しても、「ちょうどいい」とお答えいただいた方が一番多い結果になりました。

以下、自由記述における生の声です。
■1.喜びの声
・とっても楽しかったです!
・このような楽しい機会を設定いただきありがとうございました。
・あっという間の2時間でした!
・問題のさじ加減が絶妙でした。
・pcapとWebが全問解けたので、今回は満足です!
・個人的には、メモリフォレンジックの1~3が解けただけでも満足です!

■2.初めてCTFに参加された方の声
・通常のCTFは1問も解けずへこむのですが、初学者にもちょうどいい難易度でした。
・エンジニアではなく、かつ、初めてのCTFでした。技術的な問題は全くわからなかったですが、答えの少し手前まで辿り着けたのもあり、とても面白かったです。
・CTFについて詳しくなかったのですが,チームの方と楽しみながら雰囲気を味わうことが出来て,とてもよかったです.
・初心者向け問題、スコアを競うことはないということで気軽な気持ちで楽しめました。
・有技者からCTFに何回か誘っていただき参加したのですが、どれも難しくてできませんでした。いつも足を引っ張っていて大変心苦しく思っていた中、今回の競技に参加し問題を解いたところ解ける問題がありとてもうれしかったです。自信になりました!
・こういう本当の意味で初心者に優しいCTFは貴重なので、次回また開催していただけることを楽しみにしています。

■3.WEST-SECならではの仕組みへの評価
・素晴らしい環境だと思います。この短い時間で終わってしまうのがもったいないと感じます。
・SplunkやCheckPointなどのセキュリティベンダとコラボして問題を出題しているのも、このコンテストのユニークで面白い点だと感じました。
・複数社の製品を簡単に触れたのは参考になりました。
・最後の解けた人が解説する時間は複数の解法を知ることができ、大変楽しかったです。ありがとうございました。
・練習問題がなぞなぞで楽しかったです。
・Active Directoryの問題が面白かった
・Paloaltoにログインして操作する機会あってよかった。
・チームで「一緒に」やっていくのがまたいいのと、問題の難易度も激ムズから易しいまであるので取り組みやすいです。

■4.不満の声
・できれば抽選ではなく先着順だとありがたいです。(抽選だと、当日繰り上がりで急に参加になっても厳しいし、抽選で繰り上がりが期待できるか微妙な順番だと、楽しみにしているCTFな分、繰り上がらない時のモチベーションダウンが半端ないので・・・。)
・後から振り返るための模範解答がpdfなどで欲しかったです.
・解説の時間を多めにしていただければありがたいです
・なぞなぞが結構難しい
・毎回人気なので参加枠が増えると嬉しいです。
・途中で追加される問題が、もう少し多いとよかったかも、と思いました。
・チームで応募できるとありがたいです。友人何人かと参加予定でしたが、抽選次第では一人で出ることになるからという理由で直前に断られてしまいました。

3.WEST-SECの開催履歴

過去のWEST-SEC開催履歴(一部)を紹介します。

日時 イベント 補足
0 2019/11/20 大阪の某コンピュータ専門学校様向けCTF WEST-SECの先駆けとして、学生様約30名様向けに初級者向けCTFを実施
0 2019/12/13 近畿大学工学部様向けのセキュリティセミナー WEST-SECの先駆けとして、セキュリティセミナーの中で、学生・職員様約80名様向けに簡易なCTFを実施
1 2020/8/16 WEST-SEC#1 WEST-SECの記念すべき1回目
2 2020/9/16 某大学様向けCTF セキュリティに興味をもつ学生と社会人向け
3 2020/10/27
2020/11/5
WEST-SEC#2 参加者多数のため2回に分けて実施
4 2020/10/29 愛知総合工科高等学校様の学生向けにCTF授業#1 特別授業として講義させていただきました
5 2020/11/10 某企業のセキュリティエンジニア向け勉強会
6 2020/11/21 enPiT-Pro@九州大学 主に社会人の現役エンジニアのための 大学院レベルの教育プログラム。enPiTは、文部科学省の情報セキュリティプロ人材育成短期集中プログラム
7 2020/11/27 大阪府立大学様の教職員様向けCTFによるセキュリティの基礎勉強会 セキュリティに明るくない利用者であっても楽しめる問題に調整。セキュリティ啓発目的
8 2020/12/11 某企業のCSIRT向けCTF
9 2021/1/17 SECKUN 九州大学サイバーセキュリティセンターが受託した厚生労働省教育訓練プログラム開発事業
10 2021/1/19 WEST-SEC#3
11 2021/2/9 WEST-SEC for Student セキュリティに興味がある学生様向け
12 2021/2/16 某企業でのグローバルイベント 某企業の世界中のセキュリティエンジニア向け
13 2021/2/19 SecurityDay2021春 Tokyo 株式会社ナノオプト・メディアが主催する国内最大級のセキュリティイベント
14 2021/3/3 愛知総合工科高等学校様の学生様向けにCTF授業#2 高校生向けに問題をアレンジ
15 2021/3/23 WEST-SEC#4 フォレンジック解析に関する出題あり
16 2021/6/15 WEST-SEC#5 MicrosoftのADに関する出題あり
17 2021/8/31 WEST-SEC#6 ADのログ分析問題、WiresharkとWebの連携問題含
18 2021/9/22 大阪府立大学様 CTF2021 教職員様向けセキュリティ啓発目的
19 2021/10/7 愛知総合工科高等学校様の学生様向けにCTF授業#3 学生向けに、セキュリティの謎解き系問題を多数出題
20 2021/11/6 enpit-pro 九州大学サイバーセキュリティセンターが主催。enPiTは、文部科学省の情報セキュリティプロ人材育成短期集中プログラム
21 2021/11/16 WEST-SEC#7 Splunkの実機操作問題、OSコマンドインジェクション問題を含む
22 2021/12/上旬 某企業向けセキュリティ研修  
23 2021/12/17 NCAのAnnual ConferenceでのCTF 日本CSIRT協議会(NCA)のAnnual ConferenceでのCTF。CSIRT向けに内容をアレンジ
24 2022/2/15 WEST-SEC#8 第1回~3回までの問題の良問を集め、若干のアレンジを加えて出題
25 2022/2/22 Wani Hackase向けWEST-SEC 大阪大学 CTF サークル Wani HackaseさんにWEST-SECを実施
26 2022/4/21 Ir0nMaiden × WEST-SEC#9 8割解けるCTFを、Ir0nMaidenと合同で開催
27 2022/6/30 SEC道後版「WEST-SEC CTF」 8割解けるCTFを、SEC道後2022のプレイベントとして開催
28 2022/7/8 公立の高専様にて授業で実施 学生様向けの授業として実施
29 2022/9/15 サイバーセキュリティ・スクール(CTF編) 近畿総合通信局様などによる関西サイバーセキュリティネットワークでの「WEST-SEC CTF」。産・学・官・個の連携イベントとして開催。大阪会場とオンラインのハイブリッド開催。100名以上のお申込みありがとうございました。
30 2022/10/5 名古屋のセキュリティコミュニティ向け 開催調整中
31 2022/10/30 WEST-SEC#10 200人の募集枠で実施
32 2022/11/12 enpit-pro@九州大学での講義枠 enpit-proの講義枠として、WEST-SECを実施。FortiGateを実際に操作して、防御設定、ログ確認をしてもらう問題も提供。enPiTは、文部科学省の情報セキュリティプロ人材育成短期集中プログラム
33 2022/1/31 WEST-SEC#11 調整中

2021年11月6日に実施したWEST-SEC CTFに関して、九州大学サイバーセキュリティセンター様より、感謝状をいただきました。ありがとうございます。(※本感謝状の掲載に関しては、九州大学サイバーセキュリティセンター様に許可をいただいております)

WEST-SEC感謝状

CTFサイトの操作説明

1.ログインの方法

以下に記載しています。
west-sec.com

2.問題の解き方

答えの正解(=FLAG)を入れて、submitを押すだけ!
f:id:seeeko:20210531180805p:plain
正解すると、緑で「collect」と表示され、問題も緑色になります。
f:id:seeeko:20210531181141p:plain
※同じチームですでに解いた人がいる場合は、その旨のメッセージ「You already solved this」が出ます。

3.スコアを見る方法

左上のスコアボードから見ることができます。
f:id:seeeko:20210531181332p:plain

その他、いろいろとボタンを操作してみてください。
f:id:seeeko:20210126123345j:plain

splunkの基本操作

1.ログイン

(1)ページにアクセス
指定されたURLに接続する(以下はダミーのIPアドレスです)。Splunkのログインは、以下のように8000番ポートを指定する場合もある。
http://203.0113.107:8000

(2)IDパスワードの入力 ※必要に応じて。自動ログインの場合もある
IDとパスワードを入力してログイン。
すると、ホーム画面が表示される。

2.検索およびフィルタ

(1)検索概要

Splunk ホーム画面にて、左側App欄の[Search & Reporting]をクリック。
検索窓に文字列を指定することで、各種のフィルタや検索ができる。

❶基本データを見る
検索窓に「index=main」を入力して検索
❷GUIを活用する。
コマンドで操作するより、GUIでの操作が便利である。
左側の条件をクリックして条件を絞っていく
❸条件を並べる
GUIを使うとその様子が見えるが、半角スペースを入れて、条件を並べることができる。たとえば、以下

index=main source="secure.log" action=failure

❹時間の指定
右上の緑の虫眼鏡マークの左にあるボタンで選択。「全期間」を選択すると、すべてのログを表示

(2)書き方の例

❶実行が失敗したログを指定
左側のフィールドで「action」を選択する。または、検索窓にaction=failure と指定する。

❷statsにより統計を取る
count,avg,sumといった関数を使用して集計
stats [関数] by [統計を取りたい対象]
例)・・ | stats count by user

❸timechartにより時系列に統計を取るコマンド
”span=“オプションで時間間隔を指定可能。
timechart [オプション] [関数] by [統計を取りたい対象]
例)・・ | timechart span= 1m count by user

(3)その他

❶ソート(sort)とカウント(count)
昇順/降順に検索結果を表示させるコマンド。
sortコマンド後に – (ハイフン)をつけると降順、つけないと昇順にソート。
”count”でソートすれば回数を数えることも可能。
例) ・・ | sort -count

❷ANDとOR
・ANDの書き方
例)AND 送信元「203.0.113.125」かつリクエストメソッド「GET」で検索
フィルタ:203.0.113.125 AND method=GET

・ORの書き方
例)例)AND 送信元「203.0.113.125」またはリクエストメソッド「GET」で検索
フィルタ:203.0.113.125 OR method=GET

❸パイプ
・|の使い方
基本的な使い方はLinuxコマンドと同じ。前のコマンドの出力が次のコマンドの入力になるように繋げる。
例)index=main ログの中から「XXX.log」という名前のログで、かつ、件数がTOP10のuseragentを検索

index=main source=XXX.log | top limit=10 useragent

❹カンマ
同じコマンドで複数対象選ぶ場合は , (カンマ)が使える。
例) index=main ログで「action,src」で集計し、回数でソートをかける

index=main |stats count by action, src | sort –count