Volatility-GUI做CTF内存取证题

原创
08/05 22:36
阅读数 1.1K

    Volatility,内存取证工具,一直以来都很“清高”地命令行方式“行走江湖”,完全不顾自己“参数众多”这个“爆炸”形象,有种“任我行”的味道,直接影响“我等小白”的用户体验。自2018年作者根据用户需求开发了GUI界面以来,受到了热烈地、广泛地欢迎,最近抽空升级改造,形成了目前的2.0版本。现结合一个CTF的内存取证题来做个功能讲解。


一、程序界面

    一眼看去,界面上功能众多,眼花缭乱。我在这里用“=======”进行功能分层隔离,介绍如下:


    1)最上面一是Volatility程序的位置,毕竟作者只是做了个GUI,还是要调用Volatility程序的;二是指定设置了外部插件的位置,可以用python进行定制开发插件。


    2)接下来的区域,一是内存镜像文件的位置;二是内存镜像中的操作系统;三是Volatility自带的内部命令参数,作者作了每个命令的中文说明,下拉框中能看到。


    3)再接下来的区域,是导出文件类型和导出的文件名。


    4)再下来的区域,是以上所有选项、命令的合成区域,将上面所有选择的参数进行组合后形成的命令行,方便查看以及修改、添加命令参数。


    5)最下面的是一个结果显示区,将命令执行后的回显结果展示出来。


二、CTF内存取证

1、查看内存镜像文件中的操作系统

imageinfo命令,

这个命令可以用来获取内存镜像的摘要信息,比如系统版本,硬件构架等。程序最下面红框处给出了结果,可能为64位的win7sp1x64等。


2、pslist命令:

pslist可以直接列出运行的进程,如果进程已经结束,会在Exit列显示日期和时间,表明进程已经结束。在这里我们发现有“cmd.exe”。


3、cmdscan命令,

这个命令是提取内存中保留的cmd命令使用情况。我们发现

存在flag.ccx文件且密码和Administrator密码相同。


4、filescan命令,

查找得知flag文件地址为0x3e435890。在这里,我们在命令框中手动加入了“ | grep flag”,进行命令行的补充。


5、dumpfiles命令,

导出内存中缓存的目标文件,直接导出上面搜索flag得到的flag.ccx文件。


6、printkey命令,

列出SAM表的用户。


7、hivelist命令,

获取System和ASM的虚拟地址,


8、hashdump命令,获取用户密码的hash值,

 -y (注册表 system 的 virtual 地址 )-s (SAM 的 virtual 地址)。


得知Administrator密码的hash值为0d546438b1f4c396753b4fc8c8565d5b。

解码得到ABCabc123


9、加密磁盘

在列进程时,发现有个“CnCrypt”的进程,这是个TC的加密磁盘工具。


加载那个flag.ccx文件,密码已经知道了,上面有提示,同administrator相同啊。



得到了flag。


    到此,这个CTF内存取证的分析题做完了。回味下,Volatility确实强大无比。








本文分享自微信公众号 - MicroPest(gh_696c36c5382b)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部