🦔

vol.py (Volatility) を Macで使う最短経路

2022/10/19に公開

ある日、フォレンジックツールの Volatility をMacで使いたく試行錯誤しました。その結果、個人的な結論として 「導入済みVMを使おう」 に帰着したので、その概要をまとめます。

ちなみに私自身は、RAMのフォレンジック経験ゼロで、初ツールとして探したノウハウ共有となります。(本記事では Volatility 3 については触れておりません)

導入済みVMをVirtualBoxで使う

これだけやれば大丈夫といえるのが、SANS社が提供してる SIFT Workstation を利用する方法です。

vol.py を含む多くのツールがセットアップ済みで、OVA形式で配布ということで、ホストOSも仮想レイヤーも問いません。

OVAをダウンロード

SANS の無料アカウントを作成したら、次のサイトからダウンロード

僕がためした 10/17 には SIFT-Workstation.ova (3.7GB) が降ってきました。

VirtualBox に インポート してオマジナイ

VirtualBox > ファイル > 仮想アプライアンスのインポート と進めます。

しかし、このまま起動しても 真っ黒画面で先に進まず。すこしVMの設定をいれます

基本 > タイプとバージョンを指定

インポートした状態ですと Unknown になってるところを、 Linux と Ubuntu(64-bit) に変更。

ディスプレイ > グラフィックコントローラー変更

設定で「無効な設定が見つかりました」エラーとなる グラフィックコントローラーを VBoxVGA から VMSVGA に変更

変更前

変更後

これで事前の設定は完了!

VMが起動

前述の設定後VMを起動し、SIFT Workstation のデスクトップが表示されればOK。

黒い画面で悩んでましたが、設定さえしてしまえば 10秒ぐらいでさくっと起動します。

2022年10月にダウンロードしたOVAでは、Ubuntu20.04ベースとなっていました。

なお、僕の場合は、CPU4コア / メモリ4GB がインポート時に選定されましたが、CPU2コア / メモリ2GB でも、問題なく動作しています。

VirtualBox利用の準備

VirtualBoxGuestAddition を apt でインストールしておきます。

ホスト==VM間のコピペなどできると便利ですから。

$ sudo add-apt-repository multiverse
$ sudo apt update
$ sudo apt install virtualbox-guest-utils virtualbox-guest-x11

## VM再起動
$ sudo reboot

参考サイト

Volatility って何?

Volatilityは、揮発性メモリ(RAM)サンプルからデジタルアーチファクトを抽出するための、世界で最も広く使われているフレームワークです。 (GitHub README を DeepLして引用しました)

世代

Volatility Framework

2018年まで開発が進められていた初代 volatility (無印)。Python2.6+ で動作します (Python 3では動かない)
2022/10 現在の SANS SIFTworkstation には、こちらのバージョンが含まれています。

一緒に利用する追加 profile (Linux と Mac OS X)は、こちら (pluginとして追加できる)

プラグイン追加に関する参考ポストや公式ドキュメント

Volatility 3

2019年に、完全に書き換えられた Volatility3 がリリース。こちらは Python3.6+ で動作します

その他

Tanium社が主催する Tanium CTF 2022 に出場して解けなかった Linux Memory Analysis 問題。ありがたいことに、オフィシャルWriteUpが参加者限定で公開いただけました。

それを読むのですが vol.py ... なんだこりゃ? で、読んでも解けない状態に。

vol.py から調べて Volatility にたどり着き、コマンドラインのユーザー名とかから SNASのVMにたどり着きという流れで、やっと動かして回答をえるところまでたどり着きましたとさ。

Discussion