用360ctf的两道题目来记录一下内存取证的基本流程
Volatility的使用
查看镜像适用的Profile:
volatility -f xp.raw imageinfo
查看进程:
volatility -f xp.raw --profile=WinXPSP2x86 pslist
查看cmd历史命令:
volatility -f xp.raw –profile=WinXPSP2x86 cmdscan
扫描(桌面)文件:
volatility -f xp.raw –profile=WinXPSP2x86 filescan | grep 桌面
dump文件:
volatility -f xp.raw –profile=WinXPSP2x86 dumpfiles -D ./ -Q 0x000000000215f340
查看ie历史记录:
volatility -f xp.raw –profile=WinXPSP2x86 iehistory
360ctf初赛内存取证
先用imageinfo识别系统
存在cmd、ie进程
查看cmd历史命令
乱码应该是桌面,看一下桌面的文件吧
发现360.jpg
,dump下来
再看一下ie的历史记录
发现了”github”和”syst2m”字样,搜索一下(这里也提示了谷歌语法:inurl:github.com intext:syst2m)
找到commit
猜测是F5图片隐写,同时在release里可以看到F5隐写的密码
接着进kali来解密吧,发现报错了。。
提示文件没有以EOI结尾,把图片拖进winhex,删除末尾多余的空字节,重新解密一下即可成功
360ctf复赛内存取证
先看imageinfo:
看内存:
cmdscan没东西,所以想找一下有没有有用的文件:
在回收站有一张图片,dump出来看看,发现桌面的目录是Desktop
有两张杰尼龟。。。突然想起还有mspaint.exe,说不定内存中还有东西,直接memdump
得到mspaint的dmp文件,binwalk跑了一下发现东西很多,然后foremost一下得到flag