Volatility でnetscan を使った際に、怪しい接続先が見つかってもプロセスIDが「-1」となってしまっている場合があります。そんなときに通信元プロセスをどう探せばいいのかについて BlackHat Asia 2019 の発表でさらっと紹介されていました。
- Investigating Malware Using Memory Forensics - A Practical Approach - PDF
https://i.blackhat.com/asia-19/Thu-March-28/bh-asia-Monappa-Investigating-Malware-Using-Memory-Forensics.pdf
通信したプロセスIDの特定方法
まず怪しい通信がされていないかを netscan
で確認します。すると不審なIPアドレスにアクセスしていることが分かりました。Whois によるとボリビアとメキシコのIPアドレスのようです。この接続先にアクセスしていたプロセスを特定したいですが、残念ながら接続していたプロセスIDの列が 「-1」 となっており特定できません。
vol.py -f memory.dmp --profile=Win7SP1x86_24000 netscan
そんなときは yarascan で接続先の IPアドレス を持つプロセスを探してみます。(以下では IPアドレス部分をデファングしています。)
vol.py -f memory.dmp --profile=Win7SP1x86_24000 yarascan -Y "200[.]58.171.51"
vol.py -f memory.dmp --profile=Win7SP1x86_24000 yarascan -Y "189[.]196.140.187"
2件ともに見つかり、怪しい名前をもつプロセス「813.exe」(PID 1944)が接続していたらしいことが分かります。(通信先IPアドレスで調べると分かりますが、この検体は Emotet に関係するもののようです。)
参考文献
- Investigating Malware Using Memory Forensics - A Practical Approach - Black Hat Asia 2019 | Briefings Schedule
https://www.blackhat.com/asia-19/briefings/schedule/index.html#investigating-malware-using-memory-forensics---a-practical-approach-14413
付録
813.exe
MD5 : 1c6c24ea6c046a1a0e1a2ec66d68beec SHA-1 : a0bd3ca87cf824aad686b1b207abf35a2be22c23 SHA256: 7aafdd9cb1883904de67682d59c492e9883fa39e93a5d7077a5aa6252bf3c13c
更新履歴
- 2019/06/03 新規作成