概要
Windowsメモリイメージをトリアージタイプに基づいて処理するために開発されたPythonスクリプトです。
必要条件
- Python3
- Bulk Extractor
- Volatility2 with Community Plugins
- Volatility3
- Plaso
- Yara
使用方法
クイックトリアージ
python3 winSuperMem.py -f memdump.mem -o output/ -tt 1
フルトリアージ
python3 winSuperMem.py -f memdump.mem -o output/ -tt 2
包括的トリアージ
python3 winSuperMem.py -f memdump.mem -o output/ -tt 3
インストール
- Python 3をインストールします
- Python 2をインストールします
- pip3 install -r requirements.txt
- Volatility 3 Frameworkをインストールします
- Volatility 2 Frameworkをインストールします
- Volatility 2 Community Pluginsをダウンロードします
- Bulk Extractorをインストールします
- Plasoをインストールします
- Yaraをインストールします
- Stringsをインストールします
- EVTxtractをインストールします
出力の読み方
- 包括的トリアージの出力ディレクトリ構造:
- BEoutputdir - Bulk Extractorの出力
- DumpedDllsOutput - プロセスにロードされたダンプ済みDLL
- DumpedFilesOutput - メモリ内のダンプ済みファイル
- DumpedModules - ダンプされたロード済みドライバー
- DumpedProcessOutput - ダンプされた実行中プロセス
- DumpedRegistry - ダンプされたロード済みレジストリハイブ
- EVTxtract - EVTxtractを使用して抽出されたデータ
- IOCs.csv - 出力データセットで特定された収集済みIP
- Logging.log - スクリプトのロギング
- Plaso - Plasoマスタータイムライン
- Strings - Unicode、Ascii、ビッグエンディアン文字列の出力
- Volatility2 - Volatility2プラグインの出力
- Volatility3 - Volatility3プラグインの出力
- Yara - Yaraの一致
トラブルシューティング
既知のバグがいくつかあり、このセクションで説明します。
- ファイルのダンプは、Windows8より前のWindowsイメージでは機能しない場合があります。volatility3のfilescanプラグインが提供するオフセットは、仮想アドレスではなく物理アドレスであることがあります。どちらが返されるかを指定する記述子もありません。現在のスクリプトは仮想アドレスのみを想定しています。この問題は、dumpfiles関数を
--virtaddrから--physaddrに変更することで修正できます。