行业新闻

内存取证方法之volatility⼯具的使⽤

内存取证方法之volatility⼯具的使⽤

01

抓取内存dump

Dump⽂件是进程的内存镜像。可以把程序的执⾏状态通过调试器保存到dump⽂件中。Dump⽂件是

⽤来给驱动程序编写⼈员调试驱动程序⽤的,这种⽂件必须⽤专⽤⼯具软件打开,⽐如使⽤WinDbg打

开。

02

volatility⼯具的使⽤

Volatility是⼀款⾮常强⼤的内存取证⼯具,它是由来⾃全世界的数百位知名安全专家合作开发的⼀套

⼯具, 可以⽤于windows,linux,mac osx,android等系统内存取证。Volatility是⼀款开源内存取证框架,

能够对导出的内存镜像进⾏分析,通过获取内核数据结构,使⽤插件获取内存的详细情况以及系统的运

⾏状态。由python编写成,命令⾏操作,⽀持各种操作系统。

Linux安装:

https://www.cnblogs.com/yunqian2017/p/14769955.html

基本格式

volatility -f <内存镜像> -–profile=<摘要信息> <插件> [插件参数]

通过 volatility --info 获取⼯具所⽀持的profile,Address Spaces,Scanner Checks,

Plugins

获取内存镜像的摘要信息

volatility.exe -f <内存镜像> imageinfo

03

常⽤插件及使⽤

kdbgscan和imageinfo:显示⽬标镜像的摘要信息,知道镜像的操作系统后,就可以在 –profile 中带上对应的操作系统,通常只适⽤于windows镜像pslist:该插件列举出系统进程,但它不能检测到隐藏或者解链的进程,psscan可以psscan:可以找到先前已终⽌(不活动)的进程以及被rootkit隐藏或解链的进程pstree:以树的形式查看进程列表,和pslist⼀样,也⽆法检测隐藏或解链的进程mendump:提取进程在内存中的信息,常⽤foremost 来分离⾥⾯的⽂件procdump:提取进程的可执⾏⽂件filescan:扫描所有的⽂件列表hashdump:查看当前操作系统中的 password hash,例如 Windows 的 SAM ⽂件内容svcscan:扫描 Windows 的服务connscan:查看⽹络连接hivelist: 内存中的注册表cmdline:命令历史记录netscan:查看⽹络连接dlllist:查看dll⽂件,注意要指定进程idscreenshot: 提取屏幕截图editbox:显示下编辑控件的信息iehistory:查看浏览器进程的插件clipboard:查看剪切板的信息mftparser:恢复被删除的⽂件

导出⽂件

volatility -f <内存镜像> --profile=<配置⽂件> -p 120 memdump -D <导出位置>  #导出进程为120的⽂件到指定⽬录#注意:导出来后需要⽤foremost和binwalk提取其中的⽂件
1、提取截图⽂件: volatility -f wuliao.data --profile=Win7SP1x64 screenshot --dumpdir=./2、查看系统⽤户名    volatility -f wuliao.data --profile=Win7SP1x64 printkey -K"SAM\Domains\Account\Users\Names"3、根据offset导出⽂件:    volatility -f easy_dump.img --profile=Win7SP1x64 dumpfiles -Q0x000000002408c460 -D ./

图像化程序使⽤

链接:https://pan.baidu.com/s/149zaQifiThthK1-k9NY4iA提取码:skbs

1、获取镜像⽂件的摘要信息 

2、指定内存镜像和对应摘要

04

Windows内存取证

内存取证-volatility工具的使用

https://blog.csdn.net/u014029795/article/details/116628984

查找⽤户名密码信息

volatility -f 1.vmem --profile=Win7SP1x64 hashdum

查看进程

volatility -f 1.vmem --profile=Win7SP1x64 pslist

查看服务

volatility -f 1.vmem --profile=Win7SP1x64 svcscan

查看浏览器历史记录

volatility -f 1.vmem --profile=Win7SP1x64 iehistory

查看⽹络连接


volatility -f 1.vmem --profile=Win7SP1x64 netscan

查看命令⾏操作


volatility -f 1.vmem --profile=Win7SP1x64 cmdscan

查看⽂件


volatility -f 1.vmem --profile=Win7SP1x64 filescan

查看⽂件内容


volatility -f 1.vmem --profile=Win7SP1x64 dumpfiles -Q 0xxxxxxxx -D ./

查看当前展示的notepad内容


volatility -f 1.vmem --profile=Win7SP1x64 notepad (windowsxp可⽤)

查看屏幕截图


volatility -f 1.vmem --profile=Win7SP1x64 screenshot --dump-dir=./

提取进程


volatility -f 1.vmem --profile=Win7SP1x64 memdump -p xxx --dump-dir=./

查看注册表单元


volatility -f 1.vmem --profile=Win7SP1x64 hivelist

查看注册表键名


volatility -f 1.vmem --profile=Win7SP1x64 hivedump -o 0xfffff8a001032410

查看注册表键值


volatility -f 1.vmem --profile=Win7SP1x64 printkey -K "xxxxxxx"

查看运⾏程序相关的记录


volatility -f 1.vmem --profile=Win7SP1x64 userassist

查看最⼤进程提取信息


volatility -f 1.vmem --profile=Win7SP1x64 timeliner

参考链接:


https://blog.csdn.net/u014029795/article/details/116628984https://blog.csdn.net/weixin_42742658/article/details/106819187https://blog.csdn.net/weixin_42582241/article/details/104833803

如果觉得本文不错的话,欢迎加入知识星球,星球内部设立了多个技术版块,目前涵盖“WEB安全”、“内网渗透”、“CTF技术区”、“漏洞分析”、“工具分享”五大类,还可以与嘉宾大佬们接触,在线答疑、互相探讨。

关闭