2018-护网杯-easy_dump

blog 457

题目附件📎:easy_dump

0x01 获取镜像信息

vol.py -f easy_dump.img imageinfo
2018-护网杯-easy_dump

通过结果可以发现,它是一个Win7SP1x64的系统。(一般我们看第一个就行)

在后面追加--profile=Win7SP1x64之后就可以使用插件啦

0x02 pslist查看运行进程

pslist/psscan 都可以查看进程

2018-护网杯-easy_dump

通过结果我们发现它运行了notepad.exe(Windows的记事本),对应的PID号进程2616

0x03 editbox 查看记事本内容

Windows XP 使用notepad查看记事本内容。Win7以上使用插件editbox查看记事本内容

2018-护网杯-easy_dump

通过结果我们发现一个hint:flag is not here,but I put an strange jpg for you,hope you like it

我们根据这个提示寻找关于图片的文件

0x04 filescan 查看文件

使用grep命令在filescan的结果中查找包含jpg|png|jpeg|gif|dmp文件名的文件

vol.py -f easy_dump.img --profile=Win7SP1x64 filescan |grep -E "jpg|png|jpeg|gif|dmp"
2018-护网杯-easy_dump

通过结果我们发现了phos.jpg文件,尝试将其导出

0x05 dumpfiles 导出文件

vol.py -f easy_dump.img --profile=Win7SP1x64 dumpfiles -Q 0x000000002408c460 -D ./
-Q 指定被导出文件的虚拟地址
-D  导出文件保存的位置
2018-护网杯-easy_dump

将其重命名为phos.jpg查看

2018-护网杯-easy_dump

发现是一个普通的图片文件。文件内容貌似没有给我们提供有价值的信息

我们尝试使用binwalk分析文件

0x06 binwalk 文件分离

binwalk phos.jpg
2018-护网杯-easy_dump

通过结果我们发现里面有一个zip的压缩包

我们尝试将zip压缩包从图片中分离出来

binwalk -D "archive:zip" phos.jpg

-D 参数提取签名扫描期间识别的文件

zip提取完成之后名为_phos.jpg.extracted。是一个文件夹,进入到文件夹只有发现里面有两个压缩包文件

2018-护网杯-easy_dump

之后使用unzip命令进行解压。解压之后所得message.img文件

解压第二个文件的时候 发现遇到了一个错误。我们先抛出这个错误 不看

2018-护网杯-easy_dump

我们尝试使用volatility工具分析message.img文件 发现遇到了错误 根据报错信息提示 可能不是一个镜像文件

2018-护网杯-easy_dump

于是我们继续使用binwalk工具进行分析

2018-护网杯-easy_dump

发现是一个Linux系统的文件盘符

我们尝试在linux系统中挂载盘符

2018-护网杯-easy_dump

挂载之后发现里面有个hint文件

2018-护网杯-easy_dump

看样子是一个数字坐标。直接使用脚本转换 得出一个二维码

import matplotlib.pyplot as plt

x = []
y = []
with open('hint.txt','r') as f:
   lines = f.readlines()
   for line in lines:
        seq = line.split(' ')
        x.append(int(seq[0]))
        y.append(int(seq[1]))
     
plt.plot(x,y,'ks',ms=1)
plt.show()
2018-护网杯-easy_dump

扫描之后得出:Here is the vigenere key: aeolus, but i deleted the encrypted message。

翻译:这是维吉尼亚的密钥:aeolus,但我删除了加密的消息

得到了三条条线索分别是使用维吉尼亚加密,密钥为aeolus。并且删除了加密的信息

0x07 使用testdisk恢复

testdisk是一款恢复文件的工具

testdisk message.img
2018-护网杯-easy_dump

进入软件之后是这样的界面

Proceed[继续]

Quit[退出]

请自行选择☺️

2018-护网杯-easy_dump

进去之后,我们选择[None] Non partitioned media

2018-护网杯-easy_dump

我们选择list之后按return键

2018-护网杯-easy_dump

选中被删除的文件.message.swp之后按c键(将文件拷贝到某个位置)

2018-护网杯-easy_dump

选择我们保存的位置,设立选择.表示当前路径。之后按c键。即可成功恢复文件。

2018-护网杯-easy_dump

由于以.开头的在linux中是隐藏文件,所以我们使用ls -a 命令查看所有文件(包含隐藏文件)

之后使用strings .message.swp

2018-护网杯-easy_dump

发现了字符串yise!dmsx_tthv_arr_didvi

该字符串特征与维吉尼亚加密非常相似,前面也有提示到使用了维吉尼亚加密的文件被删除了。而其秘钥为aeolus

0x08 维吉尼亚解密

经过解密之后

2018-护网杯-easy_dump
flag{yeet!just_find_and_solve}

分享