以下为本人取证课程期末大作业,供参考学习,如有误请指正,感谢!
一、环境识别与进程分析
.img文件,也是一种镜像文件
Volatility 2 需要知道目标系统的 Profile(如 Win7SP1x64、Win10x64_19041 等),而 Volatility 3 自动检测,无需手动指定。
可以使用vol.py -h查看帮助

运行命令pslist查看进程,提示分析过程中工具尝试各种类型打开镜像失败

可以使用下图命令查看目标系统的profile

手动指定profile参数后查看进程

观察进程,发现有一个名为notepad.exe进程,进程号2616

二、内存转储与字符串分析
尝试使用notepad命令查看其中的内容,可惜该镜像的系统不支持该命令

使用memdump命令将其导出

使用strings查找flag相关字符串,没找到有用的

指定-e l 指定小端序提取字符串,发现提示flag不在这,但是放到一个奇怪的jpg文件中


三、文件扫描与提取
故使用volatility的filescan命令扫描文件,并过滤jpg格式

使用dumpfiles命令导出文件,成功导出文件

其中-Q参数用于指定文件的虚拟地址,就是前面filescan出内存中该文件对象(FILE_OBJECT)的虚拟地址(Virtual Address)。

四、隐写分析与二次提取
查看图片,发现被处理过,无法正常查看,有可能是图片中藏文件了

使用binwalk提取下发现有一个zip压缩包

添加-e参数提取出来并解压,是一个img文件

五、磁盘镜像分析
第一直觉继续使用vol分析,可惜提示不是有效的内存镜像文件,或者至少说vol没识别到

使用file命令查看其属性,输出提示为ext2文件系统数据,它是一个 磁盘分区或虚拟硬盘镜像,里面可能包含文件、目录、甚至整个操作系统。

尝试挂载,要sudo权限

打开后为一个hint文件,其中有好多对数字,共有3万多对

六、图像重建与密码提示
这里使用网上的代码转换
from PIL import Image
with open('/home/kali/Desktop/dumps/_file.None.0xfffffa8008355410.vacb.extracted/mnt/hint.txt','r') as f:
points = f.readlines()
pic=Image.new('RGB',(600,600),'black')
pix=pic.load()
for i in points:
i=i.strip().split(' ')
pix[int(i[0]),int(i[1])]=(255,255,255)
pic.save('out.png','png')
结果如下

使用工具识别,提示给出了维吉尼亚密码的密钥:aeolus,但是密文被删除了

七、恢复删除内容 & 获取并解密密文
提示被删除,使用ll -all寻找发现一个隐藏的.Trash文件夹

不用恢复文件,直接用strings找字符串,这里定位最后一条

使用在线工具解密,结果如下






