目录电子取证的easy_dump(18网眼杯)资源和连接正文)0x 010 x 020 x 030 x 040 x 050 x 060 x 070 x 080 x 090 x 110 x 12总结:
电子取证的easy_dump(18网眼杯)资源和连接
原题资源: https://pan.Baidu.com/s/1z73m2mrr6w6 AFM 57l omf-w
引出导线: 1tf5
声明:本题解法很多,我也在复习这个问题时参考了很多大人物的文章,本题内容都是自己写的,仅供技术交流。
参考链接:
2018网眼杯——easy_dump。
ctf内存取证----easy_dump。
2018网眼杯easy_dump。
正文:得知主题类型是电子取证中的内存读取,首相考虑用volatility工具进行分析。 volatility工具的功能非常强大。 这里简要介绍一下这个工具的使用。 (工具可以自己安装,但kali附带)
windows上的典型运行环境是python2,调用python2 vol.py [参数]即可。 在linux上举个例子
volatility-feasy _ dump.img image info
【获取内存操作系统】
volatility-feasy _ dump.imgkdbgscan
【获取内存操作系统】
【imageinfo和kdbgscan两个一般是第一个也是准确的】
volatility-feasy _ dump.img-- profile=win7SP1 x64 netscan
【profile参数指定镜像】
【内存网络扫描】
volatility-feasy _ dump.img-- profile=win7SP1 x64 amd scan
【cmd指令的读取】
volatility-feasy _ dump.img-- profile=win7SP1 x64 pslist
【内存进程枚举】
volatility-feasy _ dump.img-- profile=win7SP1 x64 hive list
【列举内存注册表】
volatility-feasy _ dump.img-- profile=win7SP1 x 64-o0x ffff8a 0013 FB 010 printkey
【分析指定注册表】
volatility-feasy _ dump.img-- profile=win7SP1 x 64-o0x fffff8a 0013 FB 010 printkey-k“控制集001 控制comp
【获取主机名】
volatility-feasy _ dump.img-- profile=win7SP1 x 64-o0x fffff8a 0013 FB 010 printkey-k“Samdomains _ account _ sent
【获取windows主机用户名】
volatility-feasy _ dump.imgmimikatz
【抓住用户密码】
volatility-feasy _ dump.imgfile scan
【文件扫描】
volatility-feasy _ dump.imgfile scan|grep“标志”
【与grep文件扫描协作】
0x01 1、在volatility-feasy _ dump.img image info中查看镜像信息
从“成功配置文件(s )”的值来看,估计最有可能是Win7SP1x64上的镜像【一般最先出现】
然后在参数- -配置文件中将镜像指定为Win7SP1x64
0x02 2,volatility-feasy _ dump.img-- profile=win7SP1 x64 PS扫描指定镜像进行进程扫描
这个问题在这里使用pslist参数也能找到想要的东西
我想在这里找到这个notepad.exe,看看记事本里的内容寻找线索
0x03 3、volatility-feasy _ dump.img-- profile=win7SP1 x64 mem dump-p 2616-d./导出记事本内容时,可以看到导出文件2616.dmp
现在我要谈两个参数。
procdump :提取过程的可执行文件
memdump :提取进程内存中的信息
因为是这里的记事本中的信息,所以使用memdump
0x04 4,strings -e l 2616.dmp | grep 'flag '直接在2616.dmp中搜索有关flag的信息,以下提示是jpg
0x05 5,那么,开始读取和检索内存文件。 jpg,volatility-feasy _ dump.img-- profil
e=Win7SP1x64 filescan | grep "jpg" 发现一个图片文件phos.jpg导出来这个图片,file.None.0xfffffa8008355410.vacb【名称默认】
0x06
6、检查phos.jpg图片,图片看不了,使用binwalk查看
binwlak file.None.0xfffffa8008355410.vacb
发现里面有zip文件
7、分离zip文件 foremost file.None.0xfffffa8008355410.vacb
分离后自动生成一个outpt文件,里面可以看分离出来的压缩文件
解压这个压缩文件,可以得到message.img文件,再次使用binwalk工具提取里面的文件
binwalk -e message.img ,即可得到隐藏axdxs的hint.txt文件,打开查看发现是一些数字
8、怀疑这些数字是坐标,于是上脚本转换一下试试 ,得到二维码图片
#脚本文件import matplotlib.pyplot as pltimport numpy as npx = []y = []with open('hint.txt','r') as f: datas = f.readlines() for data in datas: arr = data.split(' ') x.append(int(arr[0])) y.append(int(arr[1])) plt.plot(x,y,'ks',ms=1)plt.show() 0x099、识别这个二维码
得到两个消息,一个是维吉尼亚加密,秘钥是aeolus,一个是加密文件被删除了,所以我们需要恢复一下这个被删除的文件
10、使用testdisk恢复文件
这里介绍一下testdisk这个工具基本界面(kali自带)
testdisk工具介绍.
输入:testdisk xxx 即可进入软件内部操作
Proceed:继续
Quit:退出,关闭
[ Analyse ] 分析正确的分区结构并找到丢失的分区表
[ Advanced ] 文件系统工具
[ Geometry ] 更改硬盘类型
[ Options ] 修改高级选项
[ Quit ] 返回到硬盘检测
[ Type ] :改变文件系统的类型,这种修改并不会真正改变硬盘上的真正格式。
[Superblock] :列出超级块,这是文件系统的基本元数据。
[ List ] :列出所有文件,并复制(恢复)出来
[Image Creation] :对当前分区创建镜像文件
[ Quit ]:退出,返回
红色文件就表示已经删除的文件。当然你也可以选择一个红色的目录,表示恢复整个目录。
这里我直接用图说明操作过程:
输入 :testdisk message2.img 进入界面
红色为我们需要恢复的文件,选择它之后按小写的“c”进入下一个界面选择导出路径
选中之后按大写的“C”确定,然后即可导出文件
我直接恢复到桌面,这里显示复制成功
11、导出后需要使用 ls -a查看,找到文件后直接strings查看
12、发现一串字符串很像加密的维吉尼亚密码,用之前得到的秘钥解密
得到最终结果
累死我了写的。
总结:工具volatility 的使用还是不熟练,binwalk和foremost等还有许多参数的作用没有记下,testdisk恢复工具第一次使用,后面还要多学学,熟悉熟悉。越学越觉得有很多东西不会,有很多需要学。上学需要努力,上班需要努力,学东西还要加把劲啊。
ps:上班体验很充实,虽然有时有些辛苦,但是很开心,同事们也很好,现阶段目标,努力一直在公司待下去,加油!
by 久违 2020.6.18 凌晨