pagefile.sys について
pagefile.sys はシーケンシャルでなく 4KB 以下のデータの断片の集合なので、Volatility では解析できず、 Yara や Strings で有用なデータが残されていないかを確かめるのがよいということのよう。
解析例
無関係の文字列も含まれるので精査は必要。特に「環境変数」の式はノイズが多い。
- ファイルパス
$ strings pagefile.sys | grep -i "^[a-z]:\\\\" | sort | uniq
- 環境変数
$ strings pagefile.sys | grep -i "^[a-zA-Z09_]*=.*" | sort -u | uniq
- URL
$ strings pagefile.sys | egrep "^https?://" | sort | uniq
- メールアドレス
$ strings pagefile.sys | egrep '([[:alnum:]_.-]{1,64}+@[[:alnum:]_.-]{2,255}+?\.[[:alpha:].]{2,4})'
以下は試せていないものの、Yara を使った方法の例。
- Yara
$ yara malware_rules.yar pagefile.sys
- page_brute (ページサイズのブロックに分割し、それをYaraシグネチャでスキャンするツール
$ ./page_brute-BETA.py --file=pagefile.sys
付録
pagefile.sys が見当たらないとき
pagefile.sys は通常「C:\」直下にあるはずですが、システムファイルのためデフォルトの設定では非表示となっています。 エクスプローラ上でファイルが見当たらない場合には、エクスプローラのフォルダオプションから 「保護されたオペレーティングシステムファイルを表示しない(推奨)」の項目のチェックが外れていることを確認します。
参考文献
How to extract forensic artifacts from pagefile.sys? | So Long, and Thanks for All the Fish
https://www.andreafortuna.org/2019/04/17/how-to-extract-forensic-artifacts-from-pagefile-sys/Hibernation and Page File Analysis, Jeremy Scott
https://technical.nttsecurity.com/post/102dwiw/hibernation-and-page-file-analysis(削除されていました)Finding malware on memory dumps using Volatility and Yara rules | So Long, and Thanks for All the Fish
https://www.andreafortuna.org/2018/07/16/finding-malware-on-memory-dumps-using-volatility-and-yara-rules/matonis/page_brute: Page File analysis tools.
https://github.com/matonis/page_brute
更新履歴
- 2019/06/25 新規作成
- 2019/07/11 「pagefile.sys が見当たらないとき」を追記
- 2020/08/31 一部の削除されていたページについて記載に反映。