这道题应该是嘶吼比赛没有使用的一道题,是一个师傅出的。难度挺大的,尤其是对于我这种手撕notepad的hhh,第一关都过不了。取证大师真的是非常成熟的工具了啊,羡慕有各种资源的师傅们。

写这篇文章的时候发现已经好多人解出来了,所以希望无意中看到我博客的师傅们不要转发了,之前博客莫名的被举报已经红链。以后除特殊文章外,仅作圈地自萌自娱自乐。

感谢支持我的师傅们,本文离不开neverno师傅的帮助
附件链接:https://pan.baidu.com/s/1Y8-eFSLwqiSoys3P83n9vw
提取码:oa4n
工具链接:https://pan.baidu.com/s/1DkUWloXZUBTEdSSl6fFn8Q
提取码:yc7h

先理清下题目思路

mem.raw

学习取证前一定要熟悉官方的所有命令,自己亲自一个一个看用法,如果只从国内的内存取证wp去看,了解的就会特别片面

https://github.com/volatilityfoundation/volatility/wiki/Command-Reference-Gui

确定内存镜像版本

volatility -f mem.raw imageinfo
imageinfo

判断进程,同类型的命令还有pstree和psscan

psscan相对的优点是可以检测隐藏或未链接的进程(但是仍有躲避检测的方法)

 volatility -f mem.raw --profile=Win7SP0x86 pslist

这里就可以发现思维导图里提出的四个关键进程

notepad.exe (pid 3552)、TrueCrypt.exe (pid 3364)、mspaint.exe (pid 2648)、iexplore.exe (pid 3648\3696)

全部dump出来,因为ie意义不大这里就不再提取了

iehistory插件可恢复IE历史记录index.dat缓存文件的片段。它可以找到访问的链接(通过FTP或HTTP),重定向的链接(--REDR)和已删除的条目(--LEAK)。它适用于加载和使用wininet.dll库的任何进程,而不仅仅是Internet Explorer。通常包括Windows资源管理器,甚至包括恶意软件样本。
volatility -f mem.raw --profile=Win7SP0x86 memdump -p 2648 --dump-dir=./

volatility -f mem.raw --profile=Win7SP0x86 memdump -p 3364 --dump-dir=./

volatility -f mem.raw --profile=Win7SP0x86 memdump -p 3552 --dump-dir=./

一、mspaint.exe (pid 2648)

先从画图开始,包含这种类型的取证题目甚至可以追述到2015年前

目前还没发现现成的工具可以直接恢复图像,传统的binwalk等工具无法识别原始数据内的魔术字节,不过通过自己完善插件,也许可以达成。例如,Binwalk可以通过在原始压缩数据之上构建标头并将其写回磁盘来查找原始deflate / lzma流。
相应的,除了GIMP,还可以使用使用Tile Molester来处理这些原始数据
有时候你可能会看到一些颠倒翻转的图片,它们可能是BMP格式,因为这是bmp的存储方式

具体操作细节可以参看这篇文章

【CTF】利用volatility与Gimp实现Windows内存取证 - 个人文章 - SegmentFault 思否
0x01 题目要求 题目提供了一个大小为256MB的内存镜像,显然我们需要从当中找到一些有趣的东西。 0x02 分析过程 既然是内存取证,首先就想到一个强大的取证工具——volatility 该工具在kali当中已集成,位于应用程序->数字取证->volatility。 下面就针对该镜像,记录一下使用该工具进行内存取证的过程。 1. volatilit...

说一下我总结的思路。请认真看右下角的几个数据数值。

随机给位移、宽度(可以先从常见的分辨率选择,建议1440)、高度调整一点数据,让有图像显示,哪怕是乱码

然后调整高度,让线条覆盖整个画面即可,之后高度就不要进行调整了,一般就是在几百的范围内,不会太大(高度特别大好像也不会影响画面,我遇到的素材比较少,所以建议自己摸索)这道题我选择的高度是440

固定宽度之后调整位移,位移可以直接大范围拖动进度条进行粗略调整(右边上下两个小箭头长按微调是调整图像左右,粗略进度条是调整图像上下)

然后你就可能会看到下图的样子,有像是字符的存在,此时调整好左右就不要动了,开始调整宽度

同样也是调整右边的上下箭头,对宽度进行微调(宽度不要用进度条调整,数据太快了看不清,一般不会太大。鼠标一直点击上下箭头可以快速调整)

调整过程中你可能会看到字符飞快地变形,从原来的斜着的逐渐立起来

画面已经变正,可以确认图案是竖直的,此时得到了正确的字符,只不过是倒置的,需要进行垂直翻转处理。

当然,你要是不嫌麻烦,其实继续调大宽度是可以得到正常可视的图案的,偏移相对也会大一点

得出密码

1YxfCQ6goYBD6Q

二、 notepad.exe (pid 3552)

我们在前文已经提取出了notepad.dmp,使用foremost和binwalk是分析不出任何文件的 ,我们想要读取notepad.exe中share.txt的内容。有以下几种思路,我先从最简单的方法讲起。

  1. 使用editbox插件
  2. 使用strings命令进行分析
  3. 通过VAD结构从进程的堆内存中手动提取信息

方法一:

根据volatility 帮助文档,editbox插件可以显示有关编辑控件的信息。notepad插件是只能在对windows xp镜像分析中进行使用,editbox很好的替代了它的功能
这里同时可以发现网盘链接和提取码

有了网盘链接和提取码我们就可以得到一个文件VOL,在后面用得到。

据说原始网盘链接已经过期了,在这里补上我当时保存的

链接:https://pan.baidu.com/s/1Hd7CIfF1Lvjj0-UQIrKgtw
提取码:oh2e

方法二:

这个方法如果已知一部分文件内容的话会比较方便,完全未知就很浪费时间

对提取的3552.dmp进行字符串提取

strings -e l ./3552.dmp 

需要注意的是因为记事本以十六进制储存文本,所以需要-e l

-e --encoding = {s,S,b,l,B,L}选择字符大小和字节顺序:
s = 7位,S = 8位,{b,l} = 16位,{B,L} = 32位

内容很多,所以我们用grep筛选一下,关键词是pan,我们无法确定网盘提取码在第几行,所以我们规定输出pan字符串的上下5行,把输出内容输入到文档notepad.txt里

strings -e l ./3552.dmp | grep "pan" -B 5 -A 5 > notepad.txt

这就找到了目标,但是我们建立的是在筛选pan字符串的前提下,如果一点不知道文件内容、不进行筛选,输出的数据就会非常多,基本找不到。而且这个方法找不到汉字。

方法三:

请自行尝试
Volatility - manually inspect heap of a process
According to the book The Art of Memory Forensics[1], there is a heaps plugin that can extract out information from the heap memory of a process. I’m using latest version of volatility - 2.6 , but ...

三、TrueCrypt.exe (pid 3364)

这个其实很简单,dump出来之后就不需要进行额外的处理了。

不了解的可以参考下我的这篇文章,关于TrueCrypt的基础题

https://blog.xiafeng2333.top/ctf-11/

按这个流程对VOL进行提取,然后挂载可以得到key,内容为

uOjFdKu1jsbWI8N51jsbWI8N5

然后使用TrueCrypt或者VeraCrypt对VOL进行正常的解密

关于VeraCrypt介绍
https://blog.51cto.com/linhong/2406226

密码使用刚才得到的key,勾选TrueCrypt模式

挂载之后可以发现是隐藏磁盘,


以上步骤根据 fjh1997师傅的操作,可以直接用vol提取密钥然后使用工具挂载truecrypt磁盘
https://github.com/AmNe5iA/MKDecrypt


双击Z盘点开即可得到加密的压缩包fffflag.zip

使用从画图中得到的字符串进行解密

1YxfCQ6goYBD6Q

得到flag

RoarCTF{wm_D0uB1e_TC-cRypt}

写在后面

一开始走偏了,想着提取ie浏览器的cookies,然后通过baidu的BDUSS和pan.baidu的STOKEN登陆百度云账号

pandownload如何使用cookie登录百度网盘账号

但是很遗憾,技术不够,分析出的cookies只有pcs.baidu和3lift的

ie浏览器使用txt保存cookies,chrome和firfox使用二进制文件

但是之后看到其他使用取证大师的师傅可以直接提取出以下这些cookies

所以不如...?

有条件的师傅不妨试试,应该可以拿到出题人的百度网盘最高权限啦~所有文件都看得到哦~

不得不说有工具真好,取证一条龙。🍋🍋🍋

2020/4/30

虽然目前我搞到了取证大师的试用,但是我觉得局限性还是很多的,其实只是相当于一个集成软件,提供了整合的解决方案。市面上没有完美的工具,只有熟练的取证。

顺带推荐下Magnet AXIOM,几乎拥有取证大师的所有主流功能,在内存镜像的支持上更好,不过文件提取做的不是很完美,还是依赖于vol。