内存取证工具Volatility的使用(windows篇)

写在前面:

volatility 框架是一款用于易失性内存取证的重量级框架。在该框架下我们可以完成许多取证的操作,获取我们想取得的信息。其支持的操作系统也非常广泛,同时支持 windows , linux, Mac OSX,甚至也支持 Android 手机使用ARM处理器的取证。

导入:

以一道内存取证的CTF题目导入volatility的学习。题目from安恒月赛2019 1月 misc第二题。

给了一个文件,先看下文件类型:发现是内存文件

利用volatility 进行内存取证一般是先利用 imageinfo 插件获取基本信息,最重要的是操作系统的版本,因为后边分析一直会用到 '--profile'参数,这个参数就是指定操作系统的属性。

1、查看基本信息:

volatility -f  memory imageinfo

可知系统为 32位的 windows xp sp2 系统。所以接下来的操作 '--profile' 制定系统为WinXPSP2x86即可。不仅知道了操作系统,还显示了CPU等情况。

2、查看进程:

volatility pslist -f  memory --profile=WinXPSP2x86

volatility pstree -f memory --profile=WinXPSP2x86

3、查看缓存在内存中的注册表(蜂巢-hive):

volatility hivelist -f  memory --profile=WinXPSP2x86

打印注册表:volatility hivedump -f  memory --profile=WinXPSPx86 -o (the virtual location of the registry)

查看特定表的用户,如查看SAM或者SYSTEM表的用户:volatility -f memory  --profile=WinXPSP2x86 printkey -K "\SAM\SAM\Domains\Account\Users\Names"

查看最后登陆系统的用户账户:volatility -f memory --profile=WinXPSP2x86 printkey -k "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"

获取用户账号密码:If we want to know the password of the users,we should extract the password hashes from the memory dump. To do this,we need to know the starting virtual memory locations for the system and sam keys.We look in the dump above and copy down the numbers in the first column that correspond to the SAM and SYSTEM locations. Then output the password hashes into a text file called hashs.txt:

volatility hashdump -f memory --profile=WinXPSP2x86 -y (the staring virtual location of the system key) -s (the staring virtual location of the sam key) > hashs.txt

4、当时运行程序的详细情况:

volatility userassist -f memory --profile=WinXPSP2x86

5、转储进程的可寻址内存数据插件:

memdump ;插件可以将内存中的某个进程数据以 dmp 的格式保存出来,便于我们后续的取证调查:

volatility -f memory --profile=WinXPSP2 memdump -p (PID) -D (dump location)

使用二进制编辑器 hexeditor 将以上保存的 dmp 文件打开,并进行调查取证的工作;

6、提取命令历史记录:

cmdscan;攻击者控制了系统都会使用 CMD 命令来进行操作,因此可以使用 cmdscan 这款插件,将内存中保留的 cmd 命令使用情况,提取出来:

volatility cmdscan -f memory --profile=WinXPSP2x86

7、查看网络连接情况:

netscan;系统winxpsp2x86不支持此命令。

volatility netscan -f memory --profile=*******

8、查看浏览器的使用情况:

iehistory;

volatility iehistory -f memory --profile=WinXPSP2x86

9、最大程度上将内存中的信息提取出来:

timeliner;

volatility timeliner -f memory --profile=WinXPSP2x86

10、其他常用插件:

查看记事本的插件:notepad  ;tcp连接池扫描插件:connscan  ;进程池扫描插件:psscan;

本篇主要针对windows内存分析。linux内存另篇分析。

1 + 4 =
快来做第一个评论的人吧~