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

白帽子社区

共 3046字,需浏览 7分钟

 · 2022-05-09

本文来自“白帽子社区知识星球”

作者:kite



白帽子社区知识星球

加入星球,共同进步
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 hashdump


查看进程

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技术区”、“漏洞分析”、“工具分享”五大类,还可以与嘉宾大佬们接触,在线答疑、互相探讨。



▼扫码关注白帽子社区公众号&加入知识星球▼


浏览 47
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报