Volatility FrameworkをMac OS X 10.8 Mountain Lionにインストールする。Homebrewの環境を前提とするが、Macportsの環境でも適宜読み替えて実行できると思う。
VolatilityはPython 2.6 or 2.7で動作する。Mac OS X 10.8では、システムのPythonが2.7.2であるため、特にPythonを追加インストールする必要はない。
$ which python /usr/bin/python $ python --version Python 2.7.2
pipなどによってシステムにインストールする場合とHomebrewでインストールする場合ではインストールされるパスが違う。
- システム:/Library/Python/2.7/site-packages
- Homebrew:/usr/local/lib/python2.7/site-packages
システムはHomebrewを知らないため、システムのPythonからサイトのパッケージはインクルードされない。
$ python Python 2.7.2 (default, Oct 11 2012, 20:14:37) [GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import sys >>> print("\n".join(sys.path)) /Library/Python/2.7/site-packages/pip-1.3.1-py2.7.egg /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7 /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC /Library/Python/2.7/site-packages
これを解決するためには、モジュールのサーチパスであるsys.pathに含まれるようにすればいいことになるが、環境変数PYTHONPATHを設定するか.pthを作成するという方法がある。それ以外の方法としては、環境変数PYTHONHOMEを変更するとsys.prefixが変更されるためsys.pathにも影響する。また、site.pyを変更することによってもsys.pathを変更することは可能だが、これらの方法は影響が大きく、柔軟性が低いため通常はふさわしくない。
プラグインが依存するモジュールをインストールする。該当するプラグインを使用しないのであれば、インストールする必要はない。
- Distorm3 - Powerful Disassembler Library For x86/AMD64
- 依存するプラグイン
- apihooks
- callbacks
- impscan
- the disassemble command in volshell, linux_volshell, and mac_volshell
- 依存するプラグイン
- Yara - A malware identification and classification tool
- 依存するプラグイン
- yarascan, linux_yarascan, mac_yarascan
- 依存するプラグイン
- PyCrypto - The Python Cryptography Toolkit
- 依存するプラグイン
- lsadump
- hashdump
- Note: this requires python-dev to build (unless you get pre-built binaries)
- 依存するプラグイン
- PIL - Python Imaging Library
- 依存するプラグイン
- screenshots
- 依存するプラグイン
- OpenPyxl - Python library to read/write Excel 2007 xlsx/xlsm files
- 依存するプラグイン
- timeliner (with --output=xlsx option)
- 依存するプラグイン
yara本体とyaraライブラリのPython用ラッパをインストールする。pipy yara
$ brew install yara
$ brew info yara yara: stable 1.7 http://code.google.com/p/yara-project/ /usr/local/Cellar/yara/1.7 (11 files, 292K) * Built from source https://github.com/mxcl/homebrew/commits/master/Library/Formula/yara.rb ==> Dependencies Required: pcre
XCodeを事前にインストールしておく。公式サイトから最新のpycrypto-2.6.tar.gzをダウンロード・展開する。同梱されているsetup.pyでインストールする。
python setup.py build
python setup.py install
Homebrewでlittlecms/jpeg/freetypeをインストールする。
$ brew install littlecms
$ brew install jpeg
$ brew install freetype
pipでPILをインストールする。
$ sudo pip install pil -v
-------------------------------------------------------------------- PIL 1.1.7 SETUP SUMMARY -------------------------------------------------------------------- version 1.1.7 platform darwin 2.7.2 (default, Oct 11 2012, 20:14:37) [GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] -------------------------------------------------------------------- --- TKINTER support available --- JPEG support available --- ZLIB (PNG/ZIP) support available --- FREETYPE2 support available --- LITTLECMS support available --------------------------------------------------------------------
Macでは2通りのインストール・実行の仕方がある。
- setup.pyを実行してシステムにインストールする
- アーカイブを展開した任意のディレクトリで実行する
Volatilityはアーカイブを展開すればすぐに利用可能になるが、Volatilityをライブラリとして別のスクリプトから利用したい場合はsetup.pyを実行してシステムにインストールを行う必要がある。インストールすることによってスクリプトからvolatilityネームスペースが利用可能となるが、アップデートやアンインストールは困難になる。Volatilityは新しいバージョンが古いバージョンのすべての機能を備えているわけではない。これは主にWindows2000といった古いOSがサポート対象ではなくなるからである。そのため、通常は特定のバージョンをシステムにインストールせずに複数のバージョンを適宜使い分けて利用する方が使いやすいだろう。
最新コメント