setodaNote

忘れる用のメモ書き

ページファイル(pagefile.sys) の解析

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:\」直下にあるはずですが、システムファイルのためデフォルトの設定では非表示となっています。 エクスプローラ上でファイルが見当たらない場合には、エクスプローラのフォルダオプションから 「保護されたオペレーティングシステムファイルを表示しない(推奨)」の項目のチェックが外れていることを確認します。

f:id:soji256:20190711223929p:plain:w400
フォルダオプション

参考文献

更新履歴

  • 2019/06/25 新規作成
  • 2019/07/11 「pagefile.sys が見当たらないとき」を追記