如何使用Volatility在内存中查找文件?附IMViewer.exe操作实例
嗨,针对你问的用Volatility工具在内存里查找文件的需求,结合你给出的IMViewer.exe进程场景,我来给你梳理具体的操作步骤和关键注意点:
一、先确认进程的核心信息
你已经知道目标进程IMViewer.exe的PID是8256,而且从它的命令行参数能看到,它启动时打开了C:\Program Files (x86)\Inbit\Inbit Messenger Server\USER_ACCT\00001\IMMAIL.IMM文件。接下来我们用Volatility工具进一步验证和提取相关信息。
二、针对Wow64进程的模块列表查询
这里有个关键注意点:IMViewer.exe是32位进程(从路径里的Program Files (x86)能判断出来),运行在64位Win2012R2系统上,属于Wow64进程。这种情况下,常规的dlllist插件可能无法完整列出它加载的所有模块,必须使用ldrmodules工具才能得到准确结果,命令如下:
vol.py -f d:\dump\dump\CRM-20180416-165859.dmp --profile=Win2012R2x64_18340 --kdbg=0xf80173c3f8e0 ldrmodules -p 8256 > ldrmodules.txt
执行后,你可以在输出的ldrmodules.txt文件里查看该进程加载的全部模块,说不定能找到和目标文件IMMAIL.IMM相关的关联线索。
三、直接查找进程打开的文件句柄
如果想直接定位进程当前打开的文件,最有效的方法是用handles插件,它能列出进程持有的所有句柄,我们可以只过滤出文件类型的句柄,命令如下:
vol.py -f d:\dump\dump\CRM-20180416-165859.dmp --profile=Win2012R2x64_18340 --kdbg=0xf80173c3f8e0 handles -p 8256 -t file > handles_file.txt
参数解释:
-p 8256:指定要查询的目标进程PID-t file:只保留文件类型的句柄,避免无关信息干扰
打开输出的handles_file.txt,你就能直接找到和IMMAIL.IMM相关的条目,确认这个文件确实被该进程打开着。
四、补充:验证进程的启动命令行
要是你想再次确认进程启动时的命令行参数(也就是你提到的打开IMMAIL.IMM的参数),可以用cmdline插件快速查看:
vol.py -f d:\dump\dump\CRM-20180416-165859.dmp --profile=Win2012R2x64_18340 --kdbg=0xf80173c3f8e0 cmdline -p 8256
这个命令会直接输出进程的完整启动命令,能直观看到它关联的目标文件路径。
内容的提问来源于stack exchange,提问作者Serg

