关于volatility的使用体会

317 阅读3分钟

​本文已参与「新人创作礼」活动,一起开启掘金创作之路。​​

目录

基本介绍

命令总览

流程

开局操作

后续操作

   cmdscan

   filescan

   dump

   hashdump

   printkey

   pslist

   pstree

   hivelist

   getsids

基本介绍

Volatility是一个开源的取证框架,这个框架能够对导出的内存镜像镜像分析,能过通过获取内核的数据结构,使用插件获取内存的详细情况和运行状态,同时可以直接dump系统文件,屏幕截图,查看进程等。

命令总览

流程

开局操作

对于Volatility的使用,一般来讲,是先用来对内存信息进行获取

命令:volatility -f 这边复制进来你的镜像文件 imageinfo

然后,经过一会的等待,会出来一些关于镜像文件的内存信息。

比如系统版本号;

在volatility存放文件当中,输入cmd,调出命令行。

然后输入命令

会出现以下的信息

​编辑

后续操作

上步,我们获得了系统的版本号,这是比较重要的。假设获得的版本为Win7SP1x64。

假设内存镜像文件为memory。

以下都是命令介绍。

cmdscan

命令:volatility -f memory --profile=Win7SP1x64 cmdscan

作用:查看cmd命令历史

filescan

命令:volatility -f memory --profile=Win7SP1x64 filescan | grep flag

作用:查找flag文件

dump

命令:volatility -f memory --profile=Win7SP1x64 dumpfiles -Q 0x000000001e85f430 --dump-dir=./

作用:dump目标文件,也就是下载目标文件

命令:volatility -f memory --profile=Win7SP1x64 dumpregistry --dump-dir=/D:/text/

这里得**/D:/text/可以自己选个地方,选个空文件夹,用来存放信息**

作用:dump目标文件,也就是下载目标文件

hashdump

命令:volatility -f memory --profile=Win7SP1x86_23418 hashdump

作用:获取内存中的系统密码

printkey

命令:volatility -f memory --profile=Win7SP1x64 printkey -K "SAM\Domains\Account\Users\Names"

**作用:**列出SAM表用户

pslist

Windows使用一个循环的双链接列表_EPROCESS结构体来跟踪所有的活动进程;并且,这个列表位于内核中。而Volatility就是利用了这个事实:首先,它会寻找PsActiveProcessHead指针,因为该指针指向内核的_EPROCESS结构体列表的起始位置;之后,Volatility会遍历这个列表,从而找出正在运行的所有进程。

命令:volatility -f coreflood.exe pslist

作用:展示主机上正在运行的所有进程

命令:volatility -f memory --profile=Win7SP1x64 pslist

作用:列出转储时运行的进程的详细信息

命令:volatility -f memory --profile=Win7SP1x64 pslist >pslist.txt

作用:当内容比较多时候,导出文本进一步分析查看

pstree

命令:volatility -f memory --profile=Win7SP1x64 pstree

作用:而有时候pslist无法扫描一些隐藏和终止的进程,这时候可以用psscan,passcan是以树的形式进行扫描展示的。

hivelist

命令:volatility -f memory --profile=Win7SP1x86_23418 hivelist

作用:查看缓存在内存的注册表,获取system和SAM地址

getsids

命令:volatility -f bb.raw --profile=Win7SP1x86_23418 getsids

作用:查看SID