こんとろーるしーこんとろーるぶい

週末にカチャカチャッターン!したことを貼り付けていくブログ

DFIR用LinuxディストリビューションのTsurugi Linuxを使ってみた

AVTokyoでお披露目となったTsurugi Linuxのインストール&試用レポートです。

背景、経緯

2018/11/3に開催されたAVTokyoに参加してきました。

AVTOKYO2018 - AVTOKYO JP

そこで配られていた入場カードに、何とUSBメモリが隠されていました!

before
f:id:graneed:20181104231802j:plain

after
f:id:graneed:20181104231815j:plain

USBメモリの中には、当日の最後のセッションを飾った "Tsurugi Linux"のisoファイルと、お試し用のCTF問題ファイルが格納されていました。

Tsurugi Linuxとは、デジタルフォレンジクス、マルウェア解析、OSINT等に使用するツールがあらかじめインストールされた、UbuntuベースのLinuxとのこと。

詳しくはこちら。
Tsurugi Linux | Digital Forensics and Osint Linux Distribution

せっかく頂いたので、帰ってから早速起動してみました。

Live起動

VirtualBoxで新規に仮想マシンを作成し、isoを読み込んで起動してみました。

f:id:graneed:20181104233300j:plain

いくつか選択肢がありますが、どれもインストールではなくLive起動する模様。フォレンジックの現場において、USBメモリあるいはDVDメディアから起動することを想定しているのでしょう。

一番上の「TSURUGI Linux Live(GUI Mode)」を選択して起動した直後の画面はこちら。解像度の設定がいまいちだったため、システムモニターやAV Tokyoのロゴが切れてしまっていますが、すんなり起動できました。

f:id:graneed:20181104233828j:plain

この後、System->Displaysから解像度を大きくしました。

左上のApplicationsから、いくつかツールを見てみました。
目的ごとにカテゴリ分けされていてわかりやすいです。
CODE BLUE 2018で講演のあったLogon Tracerもデフォルトで入っていますね。 f:id:graneed:20181104234957j:plain

また、デスクトップ上にOSINT Switcherという気になるショートカットを発見。
クリックしてみると、デスクトップの背景が竹林に変わりました。
また、左上のApplicationsのメニューもOSINTに特化したものに変わりました。 f:id:graneed:20181104235003j:plain

インストール

毎回、Live起動では時間がかかりますし設定やデータの保存もできないため、インストールします。

デスクトップ上の、Install TSURUGI 2018.1のショートカットをクリックすると、いくつか警告と確認のダイアログが表示された後、インストール先のハードディスクを選択する画面が表示されました。

更に進めていくとインストーラーが起動され、言語、タイムゾーン、ユーザ情報等を入力し、インストールできました。再起動すると、isoイメージからではなくハードディスクから起動されました。

インストール&再起動後の画面はこちら。 f:id:graneed:20181105001310j:plain

VirtualBox Guest Additionsのインストール

ホストPCとのクリップボードの共有や共有フォルダのため、VirtualBox Guest Additionsをインストールします。

  1. 仮想PCのウィンドウのメニューバーからデバイス->Guest Additions CDイメージの挿入を選択
  2. 右上のCDのアイコンからマウント
  3. ターミナル起動
  4. sudo /media/<username>/VBox_GAs_<version>/autorun.shを起動

しかし、インストールは最後まで走ったものの、インストールログである/var/log/vboxadd-setup.logログを見てみるとエラーが発生しています。

(snip)
make[2]: *** [/tmp/vbox.0/utils.o] Error 1
Makefile:1522: recipe for target '_module_/tmp/vbox.0' failed
make[1]: *** [_module_/tmp/vbox.0] Error 2
/tmp/vbox.0/Makefile.include.footer:101: recipe for target 'vboxsf' failed
make: *** [vboxsf] Error 2

vboxsf、共有フォルダ周りですね・・・。
実際、クリップボード共有はできても、共有フォルダがうまくいきませんでした。

エラーメッセージ等でググった結果、以下のページがHIT。
一般的ソフトウェアエンジニアのTechメモ: ubuntuをWindowsOS上で動作させる - Guest Additionsインストールのエラーvboxsfがmodprobeできない対処 -

参考にして以下コマンドを実行したところ、エラーが発生しましたが、共有フォルダ設定はうまくいきました。

$ cd /usr/src/vboxguest-<version>
$ sudo make
$ sudo make install

念のため、共有フォルダの設定コマンドはこちら。

$ sudo mkdir /mnt/<適当なフォルダ名>
$ sudo mount -t vboxsf <VirtualBoxで設定した共有フォルダ名> /mnt/<適当なフォルダ名>

試してみる

実際に、Tsurugi Linuxを使用して、USBメモリに同梱されていたCTF問題を解いてみます。

フラグの投稿先はこちら。いつまで生きているかは不明。

AVTOKYO2018 TSURUGI CTF

左上のApplicationsから、出題タイトルに関連しそうなツールを使用して、解くことができました。

Challenge1-WinRegistry

reglookupを使います。

$ reglookup Challenge1-WinRegistry | grep flag
/Classes/CLSID/{7BA4C740-9E81-11CF-99D3-00AA004AE837}/flags,DWORD,0x00000001,
/Classes/CLSID/{C2FBB630-2971-11d1-A18C-00C04FD75D13}/flags,DWORD,0x00000001,
/Classes/CLSID/{C2FBB631-2971-11d1-A18C-00C04FD75D13}/flags,DWORD,0x00000001,
/Classes/CLSID/{D969A300-E7FF-11d0-A93B-00A0C90F2719}/flags,DWORD,0x00000000,
/Microsoft/Windows/AVTOKYO2018/flag,SZ,HackThePlanet,
/Microsoft/Windows NT/CurrentVersion/Print/Printers/Fax/DsSpooler/flags,DWORD,0x00000000,
/Microsoft/Windows NT/CurrentVersion/Print/Printers/Microsoft XPS Document Writer/DsSpooler/flags,DWORD,0x00000000,
/Microsoft/Windows NT/CurrentVersion/SoftwareProtectionPlatform/Plugins/Objects/msft:rm\x2Falgorithm\x2Fflags\x2F1.0,KEY,,2009-07-14 04:41:12
/Microsoft/Windows NT/CurrentVersion/SoftwareProtectionPlatform/Plugins/Objects/msft:rm\x2Falgorithm\x2Fflags\x2F1.0/ModuleId,SZ,c42d83ff-5958-4af4-a0dd-ba02fed39662,
/Microsoft/Windows NT/CurrentVersion/SoftwareProtectionPlatform/Plugins/Objects/msft:rm\x2Falgorithm\x2Fflags\x2F1.0/IsService,DWORD,0x00000000,

HackThePlanetがフラグでした。

Challenge2-BrowsingHistory

pascoを使います。

$ pasco Challenge2-BrowsingHistory | grep flag
URL Visited: IEUser@http://www.avtokyo2018.com/flag/is/20181103 09/04/2018 15:23:13 09/04/2018 15:23:13          
URL Visited: IEUser@http://www.avtokyo2018.com/flag/is/20181103 09/04/2018 15:23:13 09/04/2018 15:23:13 

20181103がフラグでした。

Challenge3-DeletedFile.e01

autopsyで開いて探索。
/usr/share/man/avtokyo2018/flag配下に、削除されたtsurugiDFIRというファイルを発見。 (手抜き説明
tsurugiDFIRがフラグでした。

Challenge4-WinMemClipBoard

volatilityを使います。

$ volatility --profile=Win7SP1x86_23418 -f Challenge4-WinMemClipBoard clipboard
Volatility Foundation Volatility Framework 2.6
Session    WindowStation Format                 Handle Object     Data                                              
---------- ------------- ------------------ ---------- ---------- --------------------------------------------------
         1 WinSta0       CF_UNICODETEXT       0x230173 0xfe5fda68 ZmxhZyBpcyB0c3VydWdp                              
         1 WinSta0       0x0L                     0x10 ----------                                                   
         1 WinSta0       0x3000L                   0x0 ----------                                                   
         1 WinSta0       0x0L                   0x3000 ----------                                                   
         1 ------------- ------------------   0x170067 0xfdfd1268  

ZmxhZyBpcyB0c3VydWdpをBASE64でデコードしたらflag is tsurugi
しかしtsurugiが通りませんでした・・・。何か足りない?

なお、ZmxhZyBpcyB0c3VydWdpflag is tsurugiも通りませんでした。
(2018/11/5 12:00追記)
flag is tsurugiで、フラグ通りました。

Challenge5-UnknownExecBinary

objdumpで処理内容を確認。

$ objdump -d -Mintel Challenge5-UnknownExecBinary 
(snip)
0804845b <weird>:
 804845b:   55                      push   ebp
 804845c:   89 e5                   mov    ebp,esp
 804845e:   81 ec 98 00 00 00       sub    esp,0x98
 8048464:   83 ec 08                sub    esp,0x8
 8048467:   ff 75 08                push   DWORD PTR [ebp+0x8]
 804846a:   8d 85 78 ff ff ff       lea    eax,[ebp-0x88]
 8048470:   50                      push   eax
 8048471:   e8 aa fe ff ff          call   8048320 <strcpy@plt>
 8048476:   83 c4 10                add    esp,0x10
 8048479:   c7 85 70 ff ff ff 41    mov    DWORD PTR [ebp-0x90],0x4f545641
 8048480:   56 54 4f 
 8048483:   c7 85 74 ff ff ff 4b    mov    DWORD PTR [ebp-0x8c],0x4f594b
 804848a:   59 4f 00 
 804848d:   83 ec 08                sub    esp,0x8
 8048490:   8d 85 70 ff ff ff       lea    eax,[ebp-0x90]
 8048496:   50                      push   eax
 8048497:   8d 85 78 ff ff ff       lea    eax,[ebp-0x88]
 804849d:   50                      push   eax
 804849e:   e8 6d fe ff ff          call   8048310 <strcmp@plt>
 80484a3:   83 c4 10                add    esp,0x10
 80484a6:   85 c0                   test   eax,eax
 80484a8:   0f 94 c0                sete   al
 80484ab:   0f b6 c0                movzx  eax,al
 80484ae:   c9                      leave  
 80484af:   c3                      ret   
(snip)

0x4f5456410x4f594bがPrintableのため復号すると、OTVAOYKとなりました。
AVTOKYOですね。念のため実行して確認。

$ ./Challenge5-UnknownExecBinary AVTOKYO

  .:: TSURUGI BINARY CTF 2018 ::.
Crack me! ;) 
Success!

ということで、AVTOKYOがフラグでした。

まとめ

Kali Linux、BlackArch Linux、REMnux等との比較はできていませんが、きれいにツール群が整理されている点と、ライブ起動が早い点が良いですね。それにデスクトップもかっこいいです。

また、「カーネルレベルでのデバイス書き込みブロッキング」の機能があるとのことですが、試せておらず。別の方のレポートや公式サイトのドキュメントを待ちたいと思います。