
SHIFTの情報セキュリティ技術向上施策の秘密とは!?|社内CTF第2弾ハッキングレポート
はじめに
こんにちは! 株式会社SHIFTカスタマーサクセスグループの渡邊です。
先日開催された社内CTFイベント第2弾に参加してきました。
こちらのレポートを通じ、SHIFTの情報セキュリティ技術向上施策の秘密を解き明かします。 Let's hacking!
CTFとは?
ある日、社内CTFイベントなる案内が届きました。
抜粋すると。
「Capture The Flag(旗取りゲーム)」の頭をとってCTF。 専門知識や技術を駆使して隠されているFlag(答え)を見つけ出し、時間内に獲得した合計点数を競う情報セキュリティのハッキングコンテスト。
令和の虎の「ALL or NOTHING 新しい未来をつかみとれ Catch the fund!」かと思いましたが、なるほど旗取りゲーム。
腕試しを兼ねハックしてみるかという気持ちで参加を表明。はたして、”新しい未来という旗”をつかみとれるのか…。
社内CTFイベント ハッキングレポート
イベント概要
イベントのねらい
情報セキュリティ分野は本来、高度な専門知識や技術を求められますが、その敷居を下げ、SHIFT従業員のみなさまが楽しみながら学び、スキルを身につけられることを目的としています。また、これを機会に情報セキュリティ分野に興味を持っていただき、SHIFT内で高度セキュリティ人材が増えていくことも期待しています。
1.イベント名: SHIFT CTF pico vol.2
2.開催場所:本イベント用CTFプラットフォーム
3.イベント形式:自習形式
4.開催期間内に問題を解き締め切り後のスコアの合計点を競う
5.ソロ参加でもグループ参加でもOK!!
6.成績上位者には表彰&豪華賞品(または賞金)
イベント開始!
腕試しを兼ねているため今回はソロで参加、大丈夫かな...
出題・回答、得点方形式はこんな感じか...
出題は問題文・問題ファイルとヒントからなり、難易度に応じ得点が高くなる
問題ファイルからFLAG{問題の回答となる文字列}を見つけ出し、文字列を提出すると得点が得られる
行き詰まった問題は、得点を消費することで回答へのヒントが得られる
で出題は36問、カテゴリ分けされていて内訳は...
フォレンジック 2問
その他 4問
データ分析 7問
Web 3問
OSINT 4問
暗号 5問
ファイル 7問
NW 2問
フォレンジック?OSINT??聞きなれない言葉が出てきて面を食らいつつ、Google検索で雰囲気をつかむ。
"デジタル・フォレンジック(英語: Digital forensics)は、法科学(フォレンジック・サイエンス)の一分野で、主にコンピュータ犯罪に関連して、デジタルデバイスに記録された情報の回収と分析調査などを行う[1][2]ことを指す。コンピューター犯罪以外の犯罪捜査や違法行為の調査、法執行機関ではない民間企業が不正調査のため消去データの復元を試みる場合などを指しても使われる"
出典: https://ja.wikipedia.org/wiki/デジタル・フォレンジック
"オープン・ソース・インテリジェンス(英: Open-Source Intelligence)とは、合法的に入手できる資料を調べて突き合わせる手法である。OSINT(オシント)と略す。オープン・ソース・インベスティゲーション(公開情報調査、英: Open-Source Investigation)と呼ばれる事もある"
出典: https://ja.wikipedia.org/wiki/オープン・ソース・インテリジェンス
なるほど…?
とにかく得点が低い(難易度が低い)ものから順番に解いていって、
問題文とヒントからキーワードを洗い出し詰まったら別の問題にいこう。
イベント中盤...
紆余曲折あったけど、解けそうな問題はやっとこさ全部解けた...
ここからは挫折した問題をとにかく色々な切り口で時間をかけて調べていこう。
先は長そうだ…
イベント終了...結果発表!!
うおおおおぉ、あと2問まできた!
ネットワークの問題で、通信パケットに隠されたFLAGを見つける問題(20点)
これは色々なワードで検索してもヒットせず、使えるヒントもない。
全然見つからない&1パケットずつローラーしてたら眼精疲労がやばい!(それでも見つからない)
何か根本的に見るところを間違えているんだろうなと諦めました...。フォレンジックの問題で、実行ファイルの脆弱性をつく問題(50点最高難易度)
実行ファイルに対しバッファオーバーフローを仕掛けてFLAGを吐き出させるとあたりが付いたが、ソースコードの確認が必須で、実行ファイルを逆コンパイルできず苦戦を強いられている...。
終了まで数時間のタイミングでヒントを使って、逆コンパイルはできたものの、自分では残り時間でソースコードを読み解けないと悟り、ギブアップ...チーン。
最終結果は750点満点中650点で全体4位、ソロ参加中で2位。
つまり表彰&豪華賞品(または賞金)です。
"名誉という旗"をつかみ取りました!!
印象深かった問題
ここからは実際に参加して、印象深かった問題をピックアップしてお伝えします。
問題① [ファイル]失われない情報

readme.txt

JohnからJackへzipファイルが送られている様子。
new_employees.pptx

見たところ新入社員の社員番号と氏名のリストでJohnはいない。

社員番号と氏名の部分は画像になっていて、どこかからコピペしてきたっぽい。
この時に”失われない情報”があるということか。

試しに"問題のチェック-プレゼンテーションの検査"を実行してみると
”画像のトリミング情報” があるとのご指摘。

画像のトリミング方法を調べ、実際に開いてみると...
トリミングされたであろう領域が残っている!

トリミングを戻してみると...、居ましたJohn! 生年月日で8桁かな?
不必要な個人情報を盛大に残して…やっちゃってるなJohn!!

flag.zipをパスワード19820701で解凍、無事FLAGをつかみました。
普段の業務でも抱えかねないリスクを気づかせてくれる良問!
問題② [OSINT]ここはどこだ!?part2

ワンピース?
where_2.jpg

ワァ キレイ...
(ちなみにPart1の方はjpeg画像から駅名を答える問題でした)
画像をじっくり見てもこれといった建物がなく特徴的なのはこの青っぽいアーチ橋か...
Google画像検索してみよう。

ファイルそのままだと月夜の画像が大量に出たので、橋だけの画像ファイルを作成再検索...

きたきた、明和橋!
Googleマップで位置を探して、涼風橋か今井街道のどっちかから撮影したものと予測。
Googleストリートビューで今井街道側からみた明和橋 ちょっと違うか...
Googleストリートビューで涼風橋側からみた明和橋... これだ!

AFLAG{suzukazebashi}をつかんだと意気揚々と提出したが、Incorrect え???
suzukazebasi → Incorrect
sudukazebashi → Incorrect
sudukazebasi → Incorrect
あれ??
おちついてもう一度問題をみてみる。
犯人から「探してみろ、この世の全てをそこに置いてきた」というメッセージと画像が送られてきた。どうやらここに何かが隠されているらしい...
あ、この場所を答えるんじゃなくて、この場所に隠されている何か(FLAG)があるのか...
bushes → Incorrect
car → Incorrect
ダメかも。
なんか赤いの落ちてるぅーーーーっ!
rope → Incorrect
dog collar → Incorrect
だめだ、こういうのじゃない気がしてきた 一旦諦める。
1日後、もう一度考え直したら、
ふと、スマホで取った写真って位置データとかが埋め込まれる って聞いたことあるな。

ファイルのプロパティに書いてあるーーっということで、無事FLAGをつかみました。
full moon → correct
ワァ オシャレ
Part1からの流れで場所を調べてしまうというミスリードがある良問!
問題③ [フォレンジック]SHIFTクレドを確認しよう


とりあえず、shift_credo.exeを実行
1~5の数字を入力すると各クレドが出力される 。

試しにバイナリエディタで開いてFLAGを検索するとヒット!
文字コードにおかしそうな部分があるが、とりあえず除外して
SHIFT_CREDO_2023!! → correct
SHIFTクレドを反芻させてくれる良問!
※クレドを詳しく知りたい方向け:クレド(行動指針)と日々の業務シーンから紐解く、SHIFTの流儀
おわりに
個人的に素晴らしいと感じたのはイベントの狙いの通りですが、以下の通り
参加者は実践形式で楽しみながら情報セキュリティ分野の幅広い知識と経験が得られる
(知識や資格を得るための学習が苦手。という方にはうってつけ)仮に参加者の知識・経験が浅くともググって調べて解決できるよう問題文やファイル、ヒントが工夫されている
情報セキュリティ分野の技術に興味・関心が湧く
世の中で広く行われているガチCTFイベントとして国内だとSECCONという大会が毎年開催されているようです。
(記憶に新しいところで漫画/ドラマの「トリリオンゲーム」ではセクチャンという名で描かれていましたね。)
もしかしたら”SECCON優勝という新しい未来という旗”をつかみ取る日がくるかもしれませんね。
今回の記事で、”SHIFTの情報セキュリティ技術向上施策の秘密という旗”をつかめたでしょうか?
最後までお付き合いいただきありがとうございました。
"という旗”の元ネタ:「青春」【キングオブコント2023優勝ネタ】
執筆者プロフィール:渡邊 直哉
前職で中堅SIerのSEを9年間経験後、2014年7月SHIFTへ。
主にエンタープライズ領域のQAエンジニアとして従事し2022年カスタマーサクセス領域へ異動。
趣味は漫画、ウィンタースポーツ。
お問合せはお気軽に
SHIFTについて(コーポレートサイト)
https://www.shiftinc.jp/
SHIFTのサービスについて(サービスサイト)
https://service.shiftinc.jp/
SHIFTの導入事例
https://service.shiftinc.jp/case/
お役立ち資料はこちら
https://service.shiftinc.jp/resources/
SHIFTの採用情報はこちら
PHOTO:UnsplashのGursimrat Ganda