昨日は泥のように寝てて丸一日無くなってました・・・・・
1日空いてしまいましたが、日課の記事投稿です。
Web関連のネタは普段業務でやってるから、しばらくは記事にする優先順位低めでいいかな・・・?
というわけで、今回はフォレンジックでお馴染みのVolatilityのチートシートを作成してみました。
※当方は普段は脆弱性診断をしているもので、VolatilityはCTFで使用する程度です。おかしな点などありましたら指摘いただけると幸いです。
今回は以下を参考にさせていただきました。
Volatility
Volatility Frameworkはメモリイメージを解析するためフレームワーク。
オープンソースでWindows、Linux、Macなど多くのプラットフォームに対応している。
インストール
以下からダウンロード
yarascan プラグイン(ルール)
pipでインストールするだけ。
pip install yara
基本コマンド
volatility.exe -f [メモリダンプ名] --profile=[プロファイル] [プラグイン]
プラグイン
プラグイン名 | オプション | 用途 |
---|---|---|
imageinfo | 対象メモリのプロファイルを推測 | |
hivelist | レジストリハイブの仮想アドレスを表示 | |
hivedump | –o [仮想アドレス] | 対象ハイブの全キーを表示 |
printkey | -o [仮想アドレス] –K [対象キー] | 対象キー(相対パス)を表示 |
dumpregistry | -o [仮想アドレス] --dump-dir [出力フォルダ] | 対象ハイブをバイナリ出力 |
userassist | ユーザーが起動したアプリの履歴を表示 | |
hashdump | ログインユーザーとパスワードハッシュを表示 | |
autoruns | -v | 自動起動するプロセスを表示(要インストール) |
pslist | 起動中のプロセスを表示 | |
pstree | 起動中のプロセスツリーを表示 | |
dlllist | DLLのオフセットを表示 | |
netscan | ネットワーク使用中のプロセスを表示 | |
malfind | -p [プロセスID] | 対象プロセスが改変されているかチェック |
procdump | -p [プロセスID] --dump-dir [出力フォルダ] | 対象プロセスをexeとしてダンプ |
memdump | -p [プロセスID] --dump-dir [出力フォルダ] | 対象プロセスの使用メモリをダンプ |
yarascan | -p [プロセスID] --yara-rules="[文字列]" | 指定プロセスのメモリから文字列を検索(要インストール) |
filescan | ファイルのオフセットを表示 | |
dumpfiles | -Q [ファイルのオフセット] -D [出力フォルダ] | 対象ファイルをダンプ |
cmdscan | コマンドプロンプトのコマンド履歴を表示 | |
consoles | コマンドプロンプトの出力履歴を表示 | |
shimcache | AppCompatCacheをダンプ(具体的にはOSの重要DLLであるkernel32.dllの共有メモリ) | |
clipboard | クリップボードを出力 |