Magnet Virtual Summit 2023 CTF - Writeup

2023/03/22に公開

はじめに

Magnet社が主催するイベント「Magnet Virtual Summit 2023」の中で3月1日に開催されていたCTFに参加しました。いつの間にかスコアサーバが閉じられており、自分の順位を確認できませんでしたが解いた問題の中でメモを残していたものについてWriteupを書いています。

今回のCTFでは3種類のエビデンスが提供されていて、それぞれのエビデンスに対応する設問 + Cipherという設問が用意されていました(Cipherについてはノータッチだったので詳細は不明)。
シナリオの全容はイマイチ掴めないままでしたが、サイバー攻撃を受けているというものではなく通常のユーザ操作について調査するというシナリオのようでした。

  • Win11 : ディスクイメージファイル(PC-MUS-001.E01)に関連する設問
  • VMDK : 仮想マシンのイメージファイル(GCVM-MUS-001.vmdk)に関連する設問
  • iOS : iPhoneの保全済みファイル(00008101-0010541A1130001E_files_full-001.zip)に関連する設問
  • Cipher : ???

今回のCTFでは、Magnet社が提供している有償のフォレンジック調査ツール Magnet Axiom のトライアルライセンスが事前に配布されており、Axiomを使用して上記の設問に関するエビデンスの分析が実施できるようになっていました。せっかくだからAxiom使いたいな~という気分になったので、極力Axiomの調査機能を使用して問題を解くようにしました。

Magnet Axiomについて

Magnet Axiomは Axiom ProcessAxiom Examine という2つのアプリケーションで構成されたフォレンジック調査ツールとなっています。Processでエビデンスの事前分析(アーティファクトの処理など)を行なって、Processが分析したエビデンスをExamineで調査する、という使い方をします。Axiomの細かい話についてはMagnet社のYouTubeチャンネルやクオリティネット社のWebサイトなどで紹介されているのでそちらを参照してください。

今回のCTFにおける調査で主に使用したのはAxiom Examineの アーティファクトエクスプローラーファイルシステムエクスプローラー の2機能となっています。前者はAxiom Processが分析したアーティファクトの情報を可視化して表示してくれる機能で、後者はファイルシステムを階層構造で表示してくれる機能となっています。他にも タイムラインエクスプローラー という、分析済みアーティファクトの情報から自動的にタイムラインを生成してくれる便利な機能もありますが、今回は特に使用していません。

(参考) Magnet AXIOM Examine: ケースの表示 ① - ナレッジ&テクニック
https://cyber.quality-net.co.jp/knowledge_detail/1005/

▼Win11 (PC-MUS-001.E01に関する設問)

Axiom Processを使用して、提供されているE01ファイル(PC-MUS-001.E01)の分析を行なう。基本的にはデフォルト設定のままで、分析対象アーティファクトだけ選択可能なものを全選択するように変更した。分析完了後、Axiom Examineでケースを開いて調査を進めた。

Gmail? Outlook? Yeah, right.. (5 point)

スタンダードでは無いメールサービス(?)がユーザによって利用されているため、それを特定して回答する。

What non-standard email service has the user used previously?

Axiom Examineのアーティファクトエクスプローラーを開いて メールとカレンダー を確認した。Outlook、Gmail、Hotmail、Yahoo!メールといったサービスの痕跡が見つかるが、どれも一般的なものと考えられる。

次にWebブラウザに関連する情報も確認しようと考えて、 WEB関連 → Chromeのログイン を確認したところ、Google WorkSpace、Mastodonへのログインの痕跡のほかに、 ProtonMail へのログイン痕跡が確認できた。

これが怪しいと考え、Flagとして入力したら正解だった。

Flag : ProtonMail

Two different versions, twice the emulation power! Makes sense to me! (5 point)

モバイル端末のエミュレートツール(?)が2種類(2バージョン)入っているらしいので、それを答える。

The user installed and ran a mobile device emulation program on their system. Which 2 versions of this software did the user install? (Format: SoftwareName V1/V2)

マシン内にインストールされているアプリケーションを調べる。アーティファクトエクスプローラーから アプリケーション使用状況 → インストールされたプログラム を確認すると、BlueStacksが2種類インストールされていることが分かった。バージョンは BlueStacks XBlueStacks 5 となっていた。

Flag : BlueStacks X/5

LITEning fast write speeds! (5 point)

SSDの型番を答える問題?

The user's system is equipped with a 256GB NVMe SSD. What is the make and model of this drive?

レジストリのSYSTEMハイブ辺りに該当する情報があると推測する。
アーティファクトエクスプローラーから"NVMe"という文字列でフィルタを行なって、 接続済みデバイス から該当するエビデンスを確認した。当該SSDの「フレンドリーな名前」(違和感の強い日本語訳)に記載されている型番情報がFlagだった。

Flag : LITEON CA1-8D256-HP

Really...? Plaintext...? (10 point)

Chrome Remote Desktopのパスワードを答える問題。

The user frequently accesses a Chrome Remote Desktop virtual machine. What password is used to log into this VM?

Chrome Remote Desktopの認証情報がどこに残るのか分からず少し悩んだ。ChromeのLogin Data等も確認したが、そもそもChrome Remote Desktopの認証情報は記録されていないようだった。

ファイルシステムエクスプローラーで色々なフォルダを眺めていたら、borchユーザのデスクトップに Employee Logins.txt という明らかに不審なファイルが置いてあるのが見つかった。中身を確認すると、認証情報と思われるデータが3件記載されていた。

この中のgoogle vmがChrome Remote Desktopの認証情報だった。

Flag : ,a]JEU0yG^+]2O]

Make sure to keep some tabs on that SysAdmin from Southern California (25 point)

問題文は下記の通り。ユーザがアクセスしているMastdonページの情報を調査する。

The user visited the Mastodon page of one user more than any others on the platform. What is the full legal name of the user Michael visited?

アーティファクトエクスプローラーのフィルタに"mstdn"と入力して、分析済みのアーティファクトをフィルタする。フィルタ結果を眺めると @scriptingosx のページに対するアクセスが複数回あることが確認できた。

https://mstdn.party/@scriptingosx@mastodon.social

Mastdonのページにアクセスすると、当該ページの運営者(?)のLinkedInアカウントの情報が確認できた。

名前は Armin Briegel さんというらしい。

https://www.linkedin.com/in/armin-briegel/

Flag : Armin Briegel

Scratch that Itch.io (25 point)

問題文は下記の通り。ユーザがBenBonkという人のYouTube動画を観ているらしく、この動画に関わっているクリエイターの人数を答える問題。5回まで回答可能。

The user viewed a YouTube video by the creator BenBonk surrounding video game developers. Within this video, how many developers were involved with the project?
1/5 attempts

アーティファクトエクスプローラーを開いて WEB関連 → ChromeのWeb履歴 を確認する。YouTubeで色々な動画を閲覧していることが確認できる。

下記の動画がBenBonkのゲーム開発に関する動画だった。

件名 : (58) 20 Game Developers Made This Game - YouTube
URL : https://www.youtube.com/watch?v=EUDQoGL-Hnk

タイトルが"20 Game Developers Made This Game"となっていて、説明文にも20人分の紹介がある。

Developers who worked on the game
-BenBonk
-Polarcube1
-8Blits
-Hammer86gn
-Him
-N8Dev:   

 / @n8dev  
-IbrahimDev:   

 / @minidevs  
-BLANKdev:   

 / @blankdev  
-Sirstotes
-Markositta
-GameDevGoose:   

 / @gamedevgoose9887  
-Camo
-LlamaDev
-Icoso:   

 / icosogames  
-Retro:   

 / retrogamedev  
-Affax:   

 / affax  
-Frogrammer
-Bbomb:   

 / @bbomb4754  
-Xrai:   

 / @xraidev568  
-llamaking

Flag : 20

We have a History of attracting some sizeable donors with our projects (25 point)

ユーザがPowerShell経由でGithubリポジトリをクローンしているらしく、該当するリポジトリのスポンサーの情報を答える。

Michael used PowerShell to clone a particular GitHub utility. What is the account name of one of this repo's most prominent sponsors?

ファイルシステムエクスプローラーで調査を行うと、PowerShellの ConsoleHost_history.txt が残っていることが確認できた。

ファイルパス : Users\borch\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt

ConsoleHost_history.txtの内容を確認すると、git cloneコマンドの痕跡が残っていた。

git clone https://github.com/LSPosed/MagiskOnWSALocal.git]
git clone https://github.com/LSPosed/MagiskOnWSALocal.git

GitHubリポジトリより、 yujincheng08 というアカウントがスポンサーになっていることが確認できる。

Flag : yujincheng08

▼VMDK (GCVM-MUS-001.vmdkに関する問題)

E01の時と同じようにAxiom Processで分析後、Axiom Examineで調査を進める。ケース情報より、VMDKはWindows Server 2019 Datacenterであることが分かる。

Maybe you can get the Team to help you Viewer this? (5 point)

標準的では無いリモートデスクトップツールがインストールされているらしく、それを答える問題。

What non-default remote desktop tool was installed on the system? Version number not required.

マシン内にインストールされているアプリケーションを調べる。アーティファクトエクスプローラーから アプリケーション使用状況 → インストールされたプログラム を確認すると Chrome Remote Desktop がインストールされていることが確認できた(問題名からTeamViewerだと予想していたけど違った)。

Flag : Chrome Remote Desktop

Remember to turn back the clocks in November! (5 point)

タイムゾーンを回答する問題。

What is the system timezone?

タイムゾーンの情報はレジストリに記録される。アーティファクトエクスプローラーを開いて、 オペレーティング システム → タイムゾーン情報 を選択して確認する。

調査対象マシンのタイムゾーンが Greenwich Standard Time であることを確認できる。

Flag : GST

I think I'm going to have a (National) Expresso toDay! (10 point)

パスワードヒントを持つユーザアカウントの作成時刻を答える問題。

What was the date and time on the system when the user account with a password hint was created? (YYYY-MM-DD HH:MM:SS)

レジストリハイブ(SAM)に記録されているユーザアカウントの情報を調査した。
アーティファクトエクスプローラーから オペレーティング システム → ユーザーアカウント - Windows を表示し、アカウントの情報を眺めてみると sgarza というアカウントにパスワードのヒントが設定されていることが確認できる。

SAMの情報からはアカウント作成時刻が分からなかったので、アカウント名でフィルタをかけて オペレーティング システム → Windowsのイベントログ からイベントログを確認した。
イベントID:4720が残っているかと考えて探してみたが見つからず悩んだ。
ログの種類があまり多くなかったため、上から全部眺めてみたところ、アプリケーションログにアカウント作成を示すイベントが記録されていた(<Provider Name="GCEGuestAgent" /> となっているため、Compute Engine側が作成したイベントだと思うが詳細は不明)。

Flag : 2022-11-23 02:46:17

WHAT? I CANT HEAR YOU OVER THE FANS! (10 point)

OSのバージョンを答える。

What is the operating system edition?

アーティファクトエクスプローラーを開いて オペレーティング システム → オペレーティングシステム情報 を調査する。調査対象のOSが Windows Server 2019 Datacenter (1809) であることが分かる(ケースダッシュボードからでも同じ情報が確認可能)。

Flag : Windows Server 2019 Datacenter (1809)

Which email did I use for this again? (25 point)

Not including their work account or gmail, what other email address did the primary user of the system have?

業務用のアカウントとGmail以外で、他のメールアドレスの情報が残っているらしいのでそれを調査する。ブラウザ関連のアーティファクトに認証情報が残っていると考えられるのでそこから調査する。

アーティファクトエクスプローラーを開いて WEB関連 → Chromeのログイン を確認すると、
ProtonMailのアカウント情報 がChromeのLogin Dataに記録されているのが分かる。

Flag : sgarza1284@proton.me

Can I sync these on my mobile device? (25 point)

2022/12/11 02:04:54に追加されたブックマーク登録された内容を答える問題。

What is the name for the bookmark item added on December 11, 2022 at 2:04:54 AM (local system time)?

何のブックマークの話なのか書かれていないが、これまでの流れからGoogle Chromeの話だと想像した。Chromeのブックマークの内容は C:\Users\sgarza\AppData\Local\Google\Chrome\User Data\Default\Bookmarks に保存されている。

ファイルシステムエクスプローラーからBookmarksにアクセスして内容を表示する。

{
  "checksum": "b1aff78899519e4e9ec3344d90fe01b4",
  "roots": {
     "bookmark_bar": {
        "children": [ {
           "children": [ {
              "date_added": "13315199912606467",
              "date_last_used": "0",
              "guid": "0982ad4e-f394-4e24-ba74-4a0315fc62d6",
              "id": "6",
              "name": "tlouis@kurvalis.com - Chat",
              "type": "url",
              "url": "https://mail.google.com/chat/u/0/#chat/dm/s2Dm7EAAAAE"
           }, {
              "date_added": "13315199912606605",
              "date_last_used": "0",
              "guid": "d1c1a4f5-a975-49dd-9893-da46cba2fb48",
              "id": "7",
              "name": "How to Secretly Flirt with a Girl over Text and IRL",
              "type": "url",
              "url": "https://www.wikihow.com/Secretly-Flirt-with-a-Girl"
           } ],
           "date_added": "13315199912605635",
           "date_last_used": "0",
           "date_modified": "13315199912606605",
           "guid": "a7cb218c-d5e3-4011-ac50-c76a9263e99e",
           "id": "5",
           "name": "Personal",
           "type": "folder"
        } ],
        "date_added": "13315197894804629",
        "date_last_used": "0",
        "date_modified": "13315199912606686",
        "guid": "0bc5d13f-2cba-5d74-951f-3f233fe6c908",
        "id": "1",
        "name": "Bookmarks bar",
        "type": "folder"
     },
     "other": {
        "children": [  ],
        "date_added": "13315197894804632",
        "date_last_used": "0",
        "date_modified": "0",
        "guid": "82b081ec-3dd3-529c-8475-ab6c344590dd",
        "id": "2",
        "name": "Other bookmarks",
        "type": "folder"
     },
     "synced": {
        "children": [  ],
        "date_added": "13315197894804635",
        "date_last_used": "0",
        "date_modified": "0",
        "guid": "4cf2e351-0e85-532b-bb37-df045d8f8d0f",
        "id": "3",
        "name": "Mobile bookmarks",
        "type": "folder"
     }
  },
  "version": 1
}

下記のWebサイトを使用して、date_addedとして記録されているタイムスタンプを可読性のある時刻表記に変換する。

https://www.epochconverter.com/webkit

下記の値を変換すると 2022/12/11 02:04:54 となったので、これが設問の時刻に更新されたブックマークであると判断する。

"date_added": "13315197894804635",
"name": "Mobile bookmarks",

Flag : Mobile bookmarks

▼iPhone (00008101-0010541A1130001E_files_full-001.zipに関する設問)

Magnet Axiomはスマートフォンの分析にも対応しているので、Axiom Processで分析を行う。

提供されている問題ファイル(00008101-0010541A1130001E_files_full-001.zip)を解凍し、中身をエビデンスとして読み込ませる。アーティファクトの分析については、モバイルアーティファクトを選択して分析を実行する。

以降はE01とVMDKと同様に、分析済みケースをAxiom Examineで開いて調査していく。

autoFill me in on the deets (5 point)

Google Chromeのオートフィル機能に保存されているメールアドレスの中で、ユーザのものではないアドレスを答える。

Which email, other than their own, was autofilled in Chrome?

ChromeのWeb Dataに記録されている情報をパースした結果がアーティファクトエクスプローラーの Chromeのオートフィル に出力されているため、これを確認する。

Gmailアドレスの borchardtmichael78@gmail.com は実際にメールの送受信もあって、ユーザが利用しているように見える。ProtonMailの michaelkborchardt@proton.me も含まれている文字列からユーザの管理しているものである可能性が高い。そのため、残った tlouis@kurvalis.com を入力したら正解だった。

Flag : tlouis@kurvalis.com

1 fish 2 fish, red fish blue fish (5 point)

ユーザのお気に入りの色を答えるらしい。

According to the user's email accounts, what is his favorite color?

アーティファクトエクスプローラーから ユーザアカウント の情報を調べてみると、Appleのアカウントに紐付いているiCloudメールアドレスが blueisth3best@icloud.com となっていることが確認できた。青色が示唆されているのでblueと入れたら正解だった。

Flag : blue

Q-uestion (5 point)

Linkedinに関連する中国系のWebサイトがあるらしく、それを答える問題。

What Chinese networking website was associated with Linkedin?

アーティファクトエクスプローラーの分析結果から ソーシャルメディアのURL を選択して確認する。分析結果を眺めていくと、 Linkedin.appによるBrowser Activity の中に1件だけ Qzone のURL(http[:]//user[.]qzone[.]qq[.]com/)へのアクセスが含まれている。これが怪しいと考えて入力したら正解だった。

Flag : Qzone

Picking up Steam (10 point)

ユーザが作ろうとしていたサーバを答える問題。

What server was the user interested in making?

Google検索の検索履歴を確認してみると、"how to make a csgo server"と"how to make a rust server"という履歴が残っていた。両方ともサブミットしてみたら CSGO の方が正解だった。

Flag : CSGO

Overlooking Excellence (10 point)

ユーザが Camilien-Houde belvedere から見下ろしているスタジアムを調べる。

What Sports stadium was the user overlooking at Camilien-Houde belvedere?

調査対象端末で写真を撮っていたりするか?と考えてアーティファクトエクスプローラーから ライブ写真 の項目を確認した。
2022/12/18の15時頃に複数の写真が撮影されていて、IMG_0024.HEICなどの画像ファイルを見ると丘の上から景色を見ているような構図になっている。写真を拡大して見ると左手側に Stade olympique という表記でスタジアムっぽいものが写っていることが確認できた。

Google Mapで該当する位置にある建物を調べると名前は Olympic Stadium となっていた。

どっちが正しいのか分からなかったのでとりあえず Olympic Stadium を入力してみたら正解だった。

Flag : Olympic Stadium

おわりに

競技開催期間中はあまり時間が取れず配点が高い問題は後回しにしてしまっていたので、問題サーバが再度公開されたら着手できなかった問題も解きたいと思います(昨年のCTFは終了後に問題が公開されていた気がするので期待したい・・・)。特に、iOSのフォレンジック調査はなかなか実施する機会が無いため、残りの問題も挑戦してみたい。

Magnet Axiomを使用して分析を行なう場合、個々のアーティファクトに対して手動でパーサーをかける必要が無いという点は便利だなと改めて感じました。どの程度の数のアーティファクトに対応していて、どの程度の頻度でアップデートが行われているのか厳密には把握していませんが、それなりにしっかり追従してくれているらしいのでこの機能については結構良さげに思えます。
一方で、ファイルシステムエクスプローラーについては画面設定の柔軟性などがかなりイマイチなので、もう少しカスタマイズが効くと良いのにな~と感じました。

Discussion