FJCT Tech blog

富士通クラウドテクノロジーズ公式エンジニアブログです

富士通クラウドテクノロジーズ

FJCT/Tech blog

FJCTF#2(社内CTF)を開催しました!

こんにちは!富士通クラウドテクノロジーズ、エンジニアタスクフォース員の蓮沼です。 この記事は富士通クラウドテクノロジーズ Advent Calendar 2023の23日目の記事です。

2023年10月16日から10月20日まで社内CTF、FJCTF#2を開催しました。この記事では社内CTFの企画から当日開催の様子などを紹介したいと思います。 FJCTF#1の開催レポートはこちら tech.fjct.fujitsu.com

FJCTF#2開催企画まで

これまでFJCTでは社内CTFを2017年に一部部署限定で開催し、そこから社内有志を集めてSECCONや富士通サイバーセキュリティワークショップに参加していました。

tech.fjct.fujitsu.com tech.fjct.fujitsu.com

そして社内全部署を対象にしたFJCTF#1が2021年に開催され、前回CTFから大分時間が経ったことやエンジニアタスクフォース(ETF)の現フォース長の北條 ( id:Con_Humi )さん、衞藤さんからETFに誘って頂いた事もあり、エンジニアタスクフォース員としてFJCTF#2を開催する事にしました。
そもそもなぜ社内CTFを開催するのかというと、一般的にCTFはセキュリティ人材の発掘、育成目的で開催されています。FJCT社内でも新入社員や中途入社など新たに入社された方でセキュリティに興味、知見がある方など、社内のセキュリティコミュニティの活性化を目的に今回開催する事にしました。またテレワーク主体であるため、久々にオフラインでのコミュニケーションのきっかけになるようにとも考えました。
開催に伴い、社内SlackでCTF運営メンバーを募り、FJCTF#1の運営メンバーである@ntoofuさん、セキュリティ部門の@gasara099さんと私の3人で開催する事にしました。

社内CTF開催に向けて、作問および競技自体の企画を定期的に話し合って決めていきました。@gasara099さんから、「競技を常設型のような好きな時間で参加出来るような形にしたい」という提案もあり、これまでの社内CTFで一日数時間限定の競技としていたものを、オンライン参加の常設型の前哨戦と、最終日の数時間をオフィス、オンラインのハイブリッドで参加可能な 本戦 の形で開催する事にしました。CTF開催まで業務の合間を縫って、作問とレビューなどを行っていきました。

前哨戦開始

10月16日より常設型として競技サイトをオープンしました。

競技サイトはFJCTF#1に続き、CTFdを採用

前哨戦ではnetwork, crypto, web, misc, forensics, pwnなど様々なジャンルから問題を出題しました。前哨戦のため、好きな時間に初めてCTFに挑戦される方も想定して、ツールの基礎的な使い方が理解出来れば解ける問題や、謎解き感覚で解けるように特徴的な建物から場所を特定するOSINTの問題などを用意しました。
多くの社内の方々に参加して頂きたい、社内でバズらせるのも大事!という事で、welcome問題では社内slackの特定のチャンネルで、「FJCTF参加してみた!」、「FJCTF頑張るぞ!」、「FJCTF面白い!」など称賛コメントを投稿する事でbotからflagが貰えるようにしました🤣

welcome問題
slack投稿すると、botからflagをゲット出来る
たくさんの方から社内SlackでFJCTFの称賛コメント頂きました😆

前哨戦の問題は14問用意していましたが、競技2日目の時点ですべて解いたチームや、自分のペースでCTFに挑戦してみるチームなど、幅広い方に取り組んでもらえました。

前哨戦終盤時点のScoreboard

本戦の様子

最終日の10月20日は18時から 本戦 としてFJCTオフィスのJR川崎タワーの会場とオンラインでのハイブリッドで開催しました。

本戦会場の様子
対面での社内CTFは約6年ぶり

海〇社長「CTF(デュエル)開始の宣言をしろ!蓮沼ぁ!!」
蓮沼「CTF(デュエル)開始ィィィ!!」の図
にゃんぱすー

本戦では前哨戦の問題より高得点の問題が追加で出題され、最終的な順位変動を大きくして、最後まで結果が分からないような競技にしました。

本戦のChallenges

本戦競技中にはFJCTF#2運営メンバーから改めてCTFとは何か、概要説明から本戦で追加された問題の紹介を行いました。

@ntoofuさんによる出題問題の紹介

また今回@ntoofuさんがCTFdに自作pluginとしてLive Scoreboard機能を追加し、リアルタイムにチームの順位変動、各チームがどの問題に取り組んでいるのか分かるようにしてくれました。

github.com

@ntoofuさんの自作pluginのLive Scoreboard機能の紹介

競技終盤、突然流れる動画は今回も健在です

前哨戦から本戦までのスコア推移。
本戦で一気にScoreが変動しています。

競技結果

5日間におよぶ競技で優勝したのは入社2~4年目の若手社員の方々でした~おめでとうございます🎉

優勝チームのチームかしわ(仮)
入社3~4年目のチームで4人の総合力で見事優勝!

個人優勝はkebab-manさん!
入社2年目の競プロerで、期待のエース

競技終了後にはお寿司が!

最終的にはFJCTF#2では総勢27チーム、48名の方々に参加頂きました。みなさんご参加頂きありがとうございました!

社内CTFを開催してみて

今回約2年ぶりにFJCTF#2として社内CTFを開催しましたが、やはり準備にめちゃくちゃ苦労したものの開催して良かったです。今回常設型として5日間競技サイトをオープンしましたが、好きな時間に取り組められるため空き時間に挑戦される方もいて、正解でした。目的としていた社内のセキュリティ人材の発掘、育成という意味でも期待の若手社員が優勝したり、社内のセキュリティコミュニティの活性化も出来たので開催して良かったです。何より今回新たにセキュリティ部門の@gasara099さんと社内CTFを開催して、運営メンバーを広げられたことや、運営メンバー自体も作問に苦労しながら当日開催して楽しめたことが良かったと思います。😆
FJCTF#2本戦直後にはWriteupとして競技参加者から解法の紹介や、後日改めて運営メンバーからWriteupの時間を設けて、解析ツールの紹介や脆弱性の解説などを行いました。

最後に

FJCTF#2開催に際してETFの北條さん、衞藤さんに加え、セキュリティ部門の方々にはご支援頂きありがとうございました。 加えて社内のインナーコミュニケーション委員会の佐々木さんには本戦の会場配信からFJCTF用のカッコいいロゴなども作成頂きありがとうございました!(ありがたく今回のCTFの問題にも活用させて頂きました)

特に衞藤さんにはETFのセキュリティ子会で本当に色々助けて頂き感謝しかありません。次の職場でのご活躍応援しています!

明日は@curry3523さんがSlackBotと連携まわりについて投稿されるそうです。お楽しみに!

ちなみにvExperts Advent Calendar 2023にも参加していて、ブログ書いているのでこちらも良ければどうぞ😆 tech.fjct.fujitsu.com

それではまた来年~!