文档说明
作者:SwBack
时间:2022-5-6 20:16
本次做题收获:人与人之间的volatility并不相同。
挑战说明
- My system was recently compromised. The Hacker stole a lot of information but he also deleted a very important file of mine. I have no idea on how to recover it. The only evidence we have, at this point of time is this memory dump. Please help me.
Note: This challenge is composed of only 1 flag.
The flag format for this lab is: inctf{s0me_l33t_Str1ng}
挑战文件:MemLabs_Lab4
解题过程
重点在于被删除了,首先我们要确定被删除的文件是什么.
查看系统镜像
volatility -f MemoryDump_Lab4.raw imageinfo
查看系统进程
发现浏览器进程
volatility -f MemoryDump_Lab4.raw --profile=Win7SP1x64 pslist
查看浏览器记录
自己未查出东西,但是做完之后搜了下wp发现别人都是iehistory出来的,少走了很多弯路
volatility -f MemoryDump_Lab4.raw --profile=Win7SP1x64 iehistory
查看文件
因为并未知道文件名是什么,只能根据经验盲猜. 匹配了常见文件后缀及目录
收获如下
虚拟地址 | 目录及文件名 |
---|---|
0x000000003e8ad250 | \Desktop\galf.jpeg |
0x000000003e8d19e0 | \Desktop\Screenshot1.png |
0x000000003fc398d0 | \Desktop\Important.txt |
volatility -f MemoryDump_Lab4.raw --profile=Win7SP1x64 filescan | grep "gif\|png\|jpg\|jpeg\|zip\|rar\|7z\|Desktop\|Download\|Documents\|Favorites\|Music\|Videos\|Links"
实际上看到Important应该先看这个文件的,但实际做的时候,一开始并未匹配目录,再复习的时候才直接在匹配中添加了目录。一个个来看.
导出第一个文件(galf.jpeg)
文件名倒过来就是flag.jpeg
volatility -f MemoryDump_Lab4.raw --profile=Win7SP1x64 dumpfiles -Q 0x000000003e8ad250 -D ./
对图片进行分析过后,发现并无异常。
导出第二个文件(Screenshot1.png)
看着是高度被隐藏了
修改16进制,将高度调高
并没有flag
导出第三个文件(Important.txt)
执行完发现并未有文件被导出(因为文件已经被删除了)
volatility -f MemoryDump_Lab4.raw --profile=Win7SP1x64 dumpfiles -Q 0x000000003fc398d0 -D ./
获取flag
想要读取一个被删出的文件内容,volatility 本身是具备这么个功能,虽然有点限制,但是在这里明显够用。
主要是因为window下的MFT 具体的说明及其与数据恢复的关系放个链接
简述 文件被删除后,如果MFT的数据没有被擦除,基本上都可以恢复。(不大于1024字节)
直接匹配该文件,通过MFT的$DATA区可以看到被删除的txt文本内容就是flaginctf{1_is_n0t_EQu4l_7o_2_bUt_th1s_d0s3nt_m4ke_s3ns3}
volatility -f MemoryDump_Lab4.raw --profile=Win7SP1x64 --profile=Win7SP1x64 mftparser |grep -A 40 "Important.txt"