volatility内存取证
$ 1_introduction
Volatility
是一款非常强大的内存取证工具,它是由来自全世界的数百位知名安全专家合作开发的一套工具,可以用于windows,linux
,mac osx
,android
等系统内存取证。Volatility
是一款开源内存取证框架,能够对导出的内存镜像进行分析,通过获取内核数据结构,使用插件获取内存的详细情况以及系统的运行状态。
在不同系统下都有不同的软件版本,官网地址:https://www.volatilityfoundation.org/
官方手册:Command Reference · volatilityfoundation/volatility Wiki (github.com)
$ 2_使用
输出信息
1 | volatility -f easy_dump.img imageinfo |
查看Volatiliity已经添加的profile和插件等信息。
1 | volatility --info |
kdbgscan插件扫描profile的值,通常扫描结果有多个,只有一个结果完全正确。kdbgscan和imageinfo
仅适用于Windows内存镜像。
1 | volatility -f easy_dump.img kdbgscan |
pslist
可以用来列出运行的进程。如果Exit所在的一列显示了日期时间,则表明该进程已经结束了。
1 | volatility -f easy_dump.img --profile=Win7SP1x64 pslist |
memdump命令转储进程(p后跟扫描出的进程pid)
1 | volatility -f easy_dump.img --profile=Win7SP1x64 memdump -p 2888 -D ./ |
hivelist
可以用来列举缓存在内存中的注册表。
1 | volatility -f easy_dump.img --profile=Win7SP1x64 hivelist |
查看注册表键名
1 | volatility -f 1.vmem --profile=Win7SP1x64 hivedump -o 0xfffff8a001032410 |
查看注册表键值
1 | volatility -f 1.vmem --profile=Win7SP1x64 printkey -K "xxxxxxx" |
查看运行程序相关的记录,比如最后一次更新时间,运行过的次数等。
1 | volatility -f 1.vmem --profile=Win7SP1x64 userassist |
最大程序提取信息
1 | volatility -f 1.vmem --profile=Win7SP1x64 timeliner |
查看用户名密码信息
1 | volatility -f 1.vmem --profile=Win7SP1x64 hashdump |
filescan
可以扫描内存中的文件
1 | volatility -f easy_dump.img --profile=Win7SP1x64 filescan |
dumpfiles
可以将内存中的缓存文件导出(Q参数后跟扫描出的文件地址)
1 | volatility -f easy_dump.img --profile=Win7SP1x64 dumpfiles -Q 0x00000000236eb5e0 -D ./ -u |
查看服务
1 | volatility -f 1.vmem --profile=Win7SP1x64 svcscan |
查看浏览器历史记录
1 | volatility -f 1.vmem --profile=Win7SP1x64 iehistory |
查看网络连接
1 | volatility -f 1.vmem --profile=Win7SP1x64 netscan |
查看命令行操作
1 | volatility -f 1.vmem --profile=Win7SP1x64 cmdscan |
查看当前展示的notepad内容
1 | volatility -f 1.vmem --profile=Win7SP1x64 notepad |
屏幕截图
1 | volatility -f 1.vmem --profile=Win7SP1x64 screenshot --dump-dir=./ |