取证工具volatility
Volatility是一款开源内存取证框架,能够对导出的内存镜像进行分析,通过获取内核数据结构,使用插件获取内存的详细情况以及系统的运行状态。
特点:
开源:Python编写,易于和基于python的主机防御框架集成。
支持多平台:Windows,Mac,Linux全支持
易于扩展:通过插件来扩展Volatility的分析能力
工具help
把.raw转储文件从U 盘拷贝到桌面,然后打开终端查看权限,chmod +x 7.raw给予执行读写执行权限,volatility -h //查看帮助命令
分析内存文件
volatility -f 7.raw imageinfo //文件信息,关注profile,输出转储文件系统相关信息,当我们拿到一个转储文件不知道该系统信息,可以使用这条命令判断,它会输出最可能的系统版本信息给你,这里我不作判断了,我转储文件的系统是Win7SP1x64。
volatility -f 7.raw --profile=Win7SP1x64 pslist //查看列表进程及物理内存位置,图中offset(v)偏移值,十六进制表示所在物理位置; Name表进程程序名;PID(process ID):PID 是程序被操作 系统加载到内存成为进程后动态分配的资源。每次程序执行的时候操作系统都会重新加载,PID在每次加载的时候都是不同的。PPID(parent process ID):PPID是程序的父进程号。Thds表示线程数。start表示进程运行开始的时间。
volatility -f 7.raw --profile=Win7SP1x64 memdump -p 364 -D mem/ //dump进行内存到我当前系统目录文件夹,这里的目录文件夹要事先创建,不然会报错,-p 指定PID; -D指定目录文件夹。
hexeditor 364.dmp //查看dump文件内容
strings 364.dmp //查看dmp文件字符
strings 364.dmp | grep password //提取字符串grep password
volatility -f 7.raw --profile=Win7SP1x64 pstree //可以查看父子进程
volatility -f 7.raw --profile=Win7SP1x64 hivelist //查计算机蜂巢注册表数据库文件
volatility -f 7.raw --profile=Win7SP1x64 hivedump -o 0xfffff8a0008c8010 //按虚内存地址查看注册表内容
volatility -f 7.raw --profile=Win7SP1x64 printkey -
K “SAM\Domains\Account\Users\Names”
//查看用户帐号
volatility -f 7.raw --profile=Win7SP1x64 printkey -K
“SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon”
//查看最后登录的账户
volatility -f 7.raw --profile=Win7SP1x64 userassist //正在运行的程序、运行过多少次、最后一次运行的时间
volatility -f 7.raw --profile=Win7SP1x64 hivelist //提取HASH
volatility -f 7.raw --profile=Win7SP1x64 hashdump -y system -s SAM
volatility -f 7.raw --profile=Win7SP1x64 cmdscan //命令行历史
- volatility -f 7.raw --profile=Win7SP1x64 netscan //网络连接
volatility -f 7.raw --profile=Win7SP1x64 iehistory //网页历史信息
以上为volatility自带插件,下面介绍自己安装插件使用的方法
Volatility插件
▪Firefoxhistory 插件
http://downloads.volatilityfoundation.org/contest/2014/DaveLasalle_ForensicSuite.zip //下载地址
/usr/lib/python2.7/dist-packages/volatility/plugins/ //移动到该目录下
volatility -f 7.raw --profile=Win7SP1x64 firefoxhistory //使用该插件
▪Timeline 插件
volatility -f 7.raw --profile=Win7SP1x64 timeliner
从多个位置收集大量系统活动信息
USN 日志记录插件
– NTFS 特性,用于跟踪硬盘内容变化(不记录具体变更内容)
– https://raw.githubusercontent.com/tomspencer/volatility/master/usnparser/
usnparser.py
– volatility -f 7.raw --profile=Win7SP1x64 usnparser --output=csv --output-
file=usn.csv
▪内存取证发现恶意软件
– https://github.com/volatilityfoundation/volatility/wiki/Memory-Samples
– https://code.google.com/archive/p/volatility/wikis/
SampleMemoryImages.wiki
内存取证发现恶意软件
– XP 建立 meterpreter session 后dump 内存分析
– volatility -f xp.raw --profile=Win7SP1x64 pstree
– volatility connscan 网络连接
– volatility getsids -p 111,222 # SID
– volatility dlllist -p 111,222 # 数量
– volatility malfind -p 111,222 -D mem/ #检查结果查毒
备注:以上介绍的有些粗略,对于电子取证这一块有兴趣的朋友可以深入研究,欢迎探讨!!感谢转发关注!!