内存取证工具——volatility 常用命令
Posted mid2dog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内存取证工具——volatility 常用命令相关的知识,希望对你有一定的参考价值。
点击可跳转
前言
红帽杯里也做到过内存取证,取证的课又重温了一遍,于是就准备把常用命令记下来。
正文
猜测镜像系统
volatility -f Memory.vmem imageinfo
在支持的系统里可以看到
知道系统后,之后的命令就都加上这一段即可
–profile=Win81U1x86
调出shell窗口
这算一个奇淫技巧
volatility -f Memory.vmem --profile=Win81U1x86 volshell
可以测试你猜测的系统是否正确,正确的话就能getshell
shell的命令:
dt(“内核关键数据结构名称”)
如:
dt("_PEB")
列举进程
volatility -f mem.vmem --profile=WinXPSP2x86 pslist
可以看到PID、PPID、启动的时间。
另一个相似的命令是pstree,与pslist差不多,但可以识别子进程以及父进程
psscan命令可以显示出被隐藏的进程,比如一些隐藏自己的病毒
最后还有dlllist,可以看到每个进程(程序)
运行所需要的所有动态链接库
将内存中的某个进程保存出来
以dmp格式保存
volatility -f 内存镜像.dd --profile=WinXPSP2x86 memdump -p [PID] -D [dump 出的文件保存的目录]
其中memdump可以换成procdump,就可以提取出进程
同时支持输入 --offset 地址
的方式来提取一些无法从pid提的进程
列举缓存在内存的注册表
volatility -f Memory.vmem --profile=Win81U1x86 hivelist
导出注册表
volatility -f Memory.vmem --profile=Win81U1x86 hivedump -o 注册表的 virtual 地址
列出SAM表中的用户
volatility -f Memory.vmem --profile=Win81U1x86 printkey -K “SAM\\Domains\\Account\\Users\\Names”
可以看到有四个用户
获取最后登录系统的用户
volatility -f Memory.vmem --profile=Win81U1x86 printkey -K “SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon”
获取内存中正运行的程序
volatility -f Memory.vmem --profile=Win81U1x86 userassist
列举时间线
volatility -f Memory.vmem --profile=Win81U1x86 timeliner
好家伙,从04年给我往后列
查看开启的windows服务
volatility.exe -f 内存镜像.dd --profile=WinXPSP2x86 svcscan
从内存中获取密码哈希
volatility.exe -f 内存镜像.dd --profile=WinXPSP2x86 hashdump -y (注册表 system 的 virtual 地址 )-s(SAM 的 virtual 地址)
该命令能从内存中获得密码hash
但同样我们需要先知道SAM和system的地址
sam表和system表的地址可以根据前面hivelist列出
获取不了。。
扫描电脑中的文件
volatility.exe -f 内存镜像.dd --profile=WinXPSP2x86 filescan
导出列举的文件
dumpfiles -Q 地址 –D 路径
地址就是上面的0x00000000那堆
提取 cmd 命令使用情况
volatility -f 内存镜像.dd --profile=WinXPSP2x86 cmdscan
如果需要看详细情况,输入cmdline
获取到当时的网络连接情况
volatility -f 内存镜像.dd --profile=WinXPSP2x86 netscan
可以发现xp系统不支持netscan,但一般题目也不会出xp
查看内核驱动
modules
隐藏的用modscan或者driverscan
获取 IE 浏览器的使用情况
volatility -f 内存镜像.dd --profile=WinXPSP2x86 iehistory
如果没有显示说明没有记录
查看屏幕截图
screenshot --dump-dir=路径
命令是没错的,但是提示少了pil插件,因为我是windows环境,用linux应该就不会出现这个问题了,下次用虚拟机做。
以上是关于内存取证工具——volatility 常用命令的主要内容,如果未能解决你的问题,请参考以下文章