内存取证工具——volatility 常用命令

Posted mid2dog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内存取证工具——volatility 常用命令相关的知识,希望对你有一定的参考价值。

点击可跳转

前言

红帽杯里也做到过内存取证,取证的课又重温了一遍,于是就准备把常用命令记下来。


正文

猜测镜像系统

volatility -f Memory.vmem imageinfo

在支持的系统里可以看到

知道系统后,之后的命令就都加上这一段即可
–profile=Win81U1x86


调出shell窗口

这算一个奇淫技巧
volatility -f Memory.vmem --profile=Win81U1x86 volshell
可以测试你猜测的系统是否正确,正确的话就能getshell

shell的命令:

dt(“内核关键数据结构名称”)

如:

dt("_PEB")


列举进程

volatility -f mem.vmem --profile=WinXPSP2x86 pslist

可以看到PID、PPID、启动的时间。

另一个相似的命令是pstree,与pslist差不多,但可以识别子进程以及父进程

psscan命令可以显示出被隐藏的进程,比如一些隐藏自己的病毒

最后还有dlllist,可以看到每个进程(程序)
运行所需要的所有动态链接库


将内存中的某个进程保存出来

以dmp格式保存
volatility -f 内存镜像.dd --profile=WinXPSP2x86 memdump -p [PID] -D [dump 出的文件保存的目录]

其中memdump可以换成procdump,就可以提取出进程

同时支持输入 --offset 地址
的方式来提取一些无法从pid提的进程


列举缓存在内存的注册表

volatility -f Memory.vmem --profile=Win81U1x86 hivelist

导出注册表
volatility -f Memory.vmem --profile=Win81U1x86 hivedump -o 注册表的 virtual 地址


列出SAM表中的用户

volatility -f Memory.vmem --profile=Win81U1x86 printkey -K “SAM\\Domains\\Account\\Users\\Names”

可以看到有四个用户


获取最后登录系统的用户

volatility -f Memory.vmem --profile=Win81U1x86 printkey -K “SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon”


获取内存中正运行的程序

volatility -f Memory.vmem --profile=Win81U1x86 userassist


列举时间线

volatility -f Memory.vmem --profile=Win81U1x86 timeliner

好家伙,从04年给我往后列


查看开启的windows服务

volatility.exe -f 内存镜像.dd --profile=WinXPSP2x86 svcscan


从内存中获取密码哈希

volatility.exe -f 内存镜像.dd --profile=WinXPSP2x86 hashdump -y (注册表 system 的 virtual 地址 )-s(SAM 的 virtual 地址)
该命令能从内存中获得密码hash
但同样我们需要先知道SAM和system的地址
sam表和system表的地址可以根据前面hivelist列出

获取不了。。


扫描电脑中的文件

volatility.exe -f 内存镜像.dd --profile=WinXPSP2x86 filescan


导出列举的文件

dumpfiles -Q 地址 –D 路径

地址就是上面的0x00000000那堆


提取 cmd 命令使用情况

volatility -f 内存镜像.dd --profile=WinXPSP2x86 cmdscan

如果需要看详细情况,输入cmdline


获取到当时的网络连接情况

volatility -f 内存镜像.dd --profile=WinXPSP2x86 netscan

可以发现xp系统不支持netscan,但一般题目也不会出xp


查看内核驱动

modules

隐藏的用modscan或者driverscan



获取 IE 浏览器的使用情况

volatility -f 内存镜像.dd --profile=WinXPSP2x86 iehistory

如果没有显示说明没有记录


查看屏幕截图

screenshot --dump-dir=路径

命令是没错的,但是提示少了pil插件,因为我是windows环境,用linux应该就不会出现这个问题了,下次用虚拟机做。

以上是关于内存取证工具——volatility 常用命令的主要内容,如果未能解决你的问题,请参考以下文章

[内存取证]Volatility基本用法

CTF取证总结(内存取证,磁盘取证)以及例题复现

volatility内存取证

取证分析Linux信息搜集

python自动攻击脚本

使用 Linux 工具进行计算机取证