试题链接:https://pan.baidu.com/s/1nDo5N4uHnV8a5hYXScV4nQ
提取码:1111
--来自百度网盘超级会员V2的分享
volatility这个词很传神,挥发。即便是断电消失的内存数据,我们也能恢复。
Tips:内存取证的题目特征
- 取证文件后缀 .raw、.vmem、.img、.vmdk
- 可疑的进程(notepad,cmd)
- 和磁盘取证结合起来考察
- 常见文件后缀dmg,img
VMDK 文件本质上是物理硬盘的虚拟版,也会存在跟物理硬盘的分区和扇区中类似的填充区域,我们可以利用这些填充区域来把我们需要隐藏的数据隐藏到里面去,这样可以避免隐藏的文件增加了 VMDK 文件的大小(如直接附加到文件后端),也可以避免由于 VMDK 文件大小的改变所带来的可能导致的虚拟机错误。而且 VMDK 文件一般比较大,适合用于隐藏大文件
- 最最最基础的命令格式:
- volatility -f [image] ‐-profile=[profile] [plugin] 命令
-
- 其中 -f 后面加的是要取证的文件, --profile 后加的是工具识别出的系统版本, [plugin] 是指使用的插件,其中默认存在一些插件,另外还可以自己下载一些插件扩充
-
-
- 命令详解:https://blog.csdn.net/hacker_zrq/article/details/125578926?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22125578926%22%2C%22source%22%3A%22hacker_zrq%22%7D&ctrtid=BoLQE
拿到这道题,发现就有一个.vmen文件,基本断定内存取证无疑。但是suspcion还不知道是什么。如其名一样:怀疑。
volatility -f mem.vmem imageinfo
可见有两个,WinXPSP2x86这个就表示Windows XP with SP2,他只是连起来了,两个,要么是SP2,要么是SP3,但是基本上是XP,差别不会太大。
现在就相当于你已经拿到操作者当时操作他的电脑的全部记录。那我们肯定首先要看看他那个时间段在干什么。那就去查看进程,看看他打开了哪些软件。
volatility -f mem.vmem --profile=WinXPSP2x86 pslist
可以看到进程名,进程号PID,还有时间,(可以看到是凌晨四点还在出题,真不容易)
我们应该对winlogon.exe,ctfmon.exe、TrueCrypto.exe这些进程很敏感。
查winlogon,这就是个登录系统的进程。 怪不得他的时间是最前的。(这个时间也很重要,进程的先后也可能蕴藏信息)。在这里只能告诉我们操作者开机登陆了这台电脑。
查ctfmon.exe ,发现他就是个office,和我们打的ctf毛关系都没有。
最后查TrueCrypt,发现他是个磁盘加密软件。TrueCrypt是一款功能强大的磁盘加密软件,有时候我们会在电脑上放置一些重要文件,为了不让别人打开,我们就得利用TrueCrypt加密。
那这就很明显了,结合这个磁盘加密的进程打开的时间是最后。基本可以断定这家伙就是操作完之后对磁盘文件进行了加密操作。
既然我们已经知道操作者的大致操作,那下一步就很明白了。就是我们需要拿到操作者加密重要文件的密码和加密后的密文。
这时候想起来,那个题目附件里的另一个或许就是加密后的磁盘文件。
我们将可疑进程的数据dump下来分析。
- //进程dump格式
- volatility -f mem.vmem --profile=WinXPSP2x86 -p [PID] -D [dump 出的文件保存的目录]
-
-
- 例如: volatility -f mem.vmem --profile=WinXPSP2x86 memdump -p 1464 -D DumpFile/
成功拿到进程数据。
先用strings命令看看里面到底什么情况。可以看到有flag.txt文件。基本确信无疑了,这个进程和最后我们的flag一定有关。下一步就是想想怎么找到key,然后解密磁盘加密文件即可。
用到一个工具:Elcomsoft Forensic Disk Decryptor。。看价格就知道他很厉害。
功能:看他下面的那个六点,其中就有提取、恢复密码,解密磁盘的功能。
主要就是使用前两个:破解密码和提取Key
这一页显示了三个数据来源:
Physical disk\partition :物理磁盘/分区
Image file of disk\partition:磁盘镜像/分区
Container:容器我们这里后缀不是.img,也不是.disk。因此只能选容器。
然后导入加密的磁盘文件,和dump出来的进程数据,他会自动寻找密钥然后
可以发现他已经找到了。
然后此时你就已经得到操作者的磁盘文件了,但是磁盘文件有固定格式的,你得挂载才能打开,因此选择Mount Disk。
打开我的电脑,找到刚才挂载的磁盘,打开发现flag