昨日に引き続き、SIFT 3.0 に含まれるツールの Rekall Memory Forensic Framework についても確認したいと思います。*1
The Rekall Memory Forensics Framework
https://code.google.com/p/rekall/
Webを見ると2013/12/22に正式に立ち上がったプロジェクトという事のようですので比較的新しいツールという事になりそうですね。*2
まずは Readmeを確認してみますが、対応しているメモリイメージは限定的に見えます。ただし、Windows以外の Linux と OSX に対応している部分がある意味このツールの特徴なのでしょうか。
https://code.google.com/p/rekall/source/browse/README.txt
* Microsoft Windows XP Service Pack 2 and 3
* Microsoft Windows 7 Service Pack 0 and 1
* Linux Kernels 2.6.24 to 3.10.
* OSX 10.6-10.8.
使い方に関してはチュートリアルのページで確認する事ができます。
http://docs.rekall.googlecode.com/git/tutorial.html
Example: Running plugin from command line.
$ rekal -f xp-laptop-2005-06-25.img --profile WinXPSP2x86 pslist
コマンドラインの並びですが、プロファイルの与え方やコマンドの並びとしてはVolatility Framework と同じように見えますね。このプロジェクトってVolarilityと兄弟的なプロジェクトとかなんですかね?
チュートリアルのドキュメントで興味深いのは、下記のLiveでのメモリ解析という部分ですね。対象PCにLiveでメモリへアクセス可能なデバイスドライバをロードし、そのドライバ経由でRekallのコマンドを動かす事ができるようですね。
Rekall Memory Forensics Tutorial.
http://docs.rekall.googlecode.com/git/notebooks/Rekall%20Tutorial.html
ドライバのロードとも関連するツールとしては、WinPmem が存在するようですが、これはメモリイメージの取得ツールという位置付けです。
サポートとしているWindows系OSとしてはかなり広範囲ですね。
http://docs.rekall.googlecode.com/git/pmem.html
Supports all windows versions from WinXP SP2 to Windows 8 in both i386 and amd64 flavours.
Mac OS X向けにはこれとは別に OSXPMem が提供されています。チュートリアルにはLinux用の使いかについて特に記載がない気もしますが、ダウンロードページにはPmem Linuxというのが提供されています。
Linux向けのチュートリアルがなかったのですが、Googleで検索してみたところ、下記の記事を見つけることができました。
Linux Memory Dump with Rekall
http://isc.sans.edu/diary/Linux+Memory+Dump+with+Rekall/17775
Windows用を含め、個別のプラグインのドキュメントが見当たらないのですが、この辺りは実際に動かして試してみないと理解が進まないですね。