目录
简介
volatility 框架是一个完全开源的工具集合,在GNU通用公共许可证下以Python实现,用于从存储器(RAM)样本中提取数字信息。提取技术的执行完全独立于正在调查的系统,但提供了进入系统运行时状态的可见性。该框架旨在向人们介绍与提取数字信息相关的技术和复杂性,其支持的操作系统也非常广泛,同时支持 windows,linux,Mac OSX,甚至也支持 Android 手机使用ARM处理器的取证,是目前最受欢迎的取证工具之一,目前最新版本是2.6。
使用要求
Python 2.6或更高版本,但不是3.0。
安装
在Kali Linux中可直接使用apt-get install volatility进行安装,也可以直接下载源码然后执行python setup.py install或执行python vol.py直接使用。
基本用法
volatility [plugin] -f [image] --profile=[profile]
常用插件:
imageinfo:显示目标镜像的摘要信息
pslist:列举出系统进程,但它不能检测到隐藏或者解链的进程
psscan:可以找到先前已终止(不活动)的进程以及被rootkit隐藏或解链的进程
pstree:以树的形式查看进程列表,和pslist一样,也无法检测隐藏或解链的进程
mendump:转储指定进程数据,常用foremost来分离里面的文件
filescan:扫描所有的文件列表
dumpfiles:转储文件
svcscan:扫描 Windows 的服务
connscan:查看网络连接
hivelist:打印注册表列表
hivedump:转储注册表信息
printkey:打印注册表项、子项和值
screenshot:Windows截图
hashdump:查看当前操作系统中的password hash,例如Windows的NTLM hash
实例
首先需要获取内存映象文件的信息,使用volatility -f windows7.vmem imageinfo查看windows7.vmem文件的信息,如图:
获取到profile之后获取系统进程列表,使用volatility -f windows7.vmem --profile Win7SP1x64 pslist,如图:
同样可以使用psscan和pstree插件,如图:
转储进程explorer.exe,对应PID为1496,使用volatility -f windows7.vmem --profile Win7SP1x64 memdump -p 1496 -D ./将进程转储到当前目录,如图:
可以结合binwalk和foremost工具分析并提取文件,如图:
扫描系统中的文件,可以结合grep命令进行筛选, 使用volatility -f windows7.vmem --profile Win7SP1x64 filescan | grep -E "jpg|png|jpeg",如图:
转储文件img23.jpg,使用volatility -f windows7.vmem --profile Win7SP1x64 dumpfiles -Q 0x000000007cc71990 -D ./,如图:
扫描windows服务,使用volatility -f windows7.vmem --profile Win7SP1x64 svcscan,如图:
打印注册表信息,使用volatility -f windows7.vmem --profile Win7SP1x64 hivelist,如图:
查看注册表REGISTRYMACHINESAM的信息,使用volatility -f windows7.vmem --profile Win7SP1x64 hivedump -o 0xfffff8a003fb4410,如图:
查看注册表项SAMDomainsAccount的子项和值,使用,如图:
获取操作系统状态截图,使用volatility -f windows7.vmem --profile Win7SP1x64 screenshot -D ./,如图:
获取操作系统NTLM hash,使用volatility -f windows7.vmem --profile Win7SP1x64 hashdump,如图:
更多用法
完整用法请阅读官方Wiki。