根据题目和下载完后:
镜像文件
pslist,看下进程,有熟悉的进程出现:
先分析notepad这个进程:我们用上一次学到的插件功能进行查看发现失败:
查了一下发现:
Windows XP系统用notepad插件进行查看记事本的内容,而Win7以上的系统版本使用editbox这个插件:
用法如图和notepad插件一样:
得到一个hint,那就用filescan和grep看看:
把这个文件dump出来:
用binwalk和foremost对分离出来的图片进行分析一下:
这里分离出来的一个镜像,其实是压缩包,因为新版的binwalk会自动把分离出的压缩包给解压,所以这里的外面的message.img和压缩包内的文件是相同的。这里得到的一个新的镜像文件肯定不是让再用volatility,应该是挂载或者打开什么的。
file命令看下:
看来是要挂载了。
挂载:
1.先新建个文件夹。
2.然后使用mount进行挂载,这里就不细说mount的用法,简单说下参数。
-o options 主要用来描述设备或档案的挂接方式。这里的loop是用来把一个文件当成硬盘分区挂接上系统。
然后进入disk文件夹:
看样子是坐标画图?
直接把这个hint.txt复制到物理机上:关于坐标画图,我曾写过一篇WP:梅花香自苦寒来(BUUCTF)
用gnuplot画图很方便,因为我加了环境变量,然后命令也很简单,直接:plot “hint.txt”就可以。
当然写脚本也不是不可以:
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()
结果:
得到的hint: Here is the vigenere key: aeolus, but i deleted the encrypted message。
只给了key,没有密文。还记得我们挂载的镜像文件夹里不仅有个hint.txt,还有个 lost+found:
这个直接点进文件夹是看不到的,看来需要进行恢复一些东西。
翻阅了下我以前的WP,找到个类似的题目:
应该是BUUCTF上收录的题。
(详见另一篇WP,不过那题比这题要相对简单一点)。
用到的恢复工具(Kali上自带,当时是在Ubuntu上装的):
用时出现了意外:
看论坛上一个国外老哥也遇到了类似的问题:
下面一位热心老哥给了其它建议:magicrescue和testdisk(这俩Kali上都有预装)
第一个看起来有点偏专业:
(看了看参数跳过去了)
第二个testdisk:
命令行输入testdisk后回车就会进入如下页面(以下操作须在root权限下进行):
然后选第三个,不用留有记录。
它会识别虚拟机上的盘符,很明显可以看出第二个是我们挂载的。
上下键移动,回车确认,然后:
这里是让我们进一步指明分类,直接默认None就可,然后:
左右键移动:最下面一排移动到List,然后回车:
可以看到文件了,按下C以后就是Copy了文件,然后回车:
选择你复制的文件将要放到哪里,然后回车:
这里还有个细节:
. 和.. 的这两个文件是隐藏文件。这个.swp文件是Linux下vim非正常退出产生的文件。我们用strings命令获取下里面的字符串: