解题工具
内存取证分析工具Volatility2.6
Volatility是一款非常强大的内存取证工具,它是由来自全世界的数百位知名安全专家合作开发的一套工具, 可以用于windows,linux,mac osx,android等系统内存取证。Volatility是一款开源内存取证框架,能够对导出的内存镜像进行分析,通过获取内核数据结构,使用插件获取内存的详细情况以及系统的运行状态。
本次使用Python2环境下的Volatility2.6进行解题。
附上工具下载链接:
官网下载地址:volatilityfoundation.org
github开源项目地址:GitHub - volatilityfoundation/volatility: An advanced memory forensics framework
JiaJia-CP
这是部分人熟知的刘佳佳同学的电脑,她今年21岁已在公司里实习。但是佳佳经常摸鱼被老板训斥说:"你怎么摸得下去的"。因此佳佳还会经常将未完成的工作带到家里去完成(老板不留她加班属实有点离谱。但最近佳佳一天摸鱼的时间达到了25小时,这令老板非常不爽。于是🐕老板悄悄的植入了一个软件并在后台获取了佳佳电脑的内存信息。由于老板也是个懒🐕于是叫你来找一下老板想要的佳佳电脑的信息。作为十年老粉的CTFer们如果不是因为要找到flag一定不想帮老板来看佳佳的电脑内存信息吧,于是你也只能来帮助老板寻找佳佳电脑里的信息。电脑里面没有奇奇怪怪的东西,不要乱翻浪费时间
题目提供的镜像文件:JiaJia_CP.7z,解压出来是一个内存镜像文件:JiaJia_Co.raw
题目
JiaJia-CP-1
1.佳佳的电脑用户名叫什么(即C:\Users{name})
2.最后一次运行计算器的时间?(格式为yyyy-mm-dd_hh:mm:ss,注意冒号为英文冒号)
JiaJia-CP-2
1.佳佳在公司使用了一款聊天软件,请问此软件的版本号为?
2.佳佳在网页上登录了自己的邮箱,请问佳佳的邮箱是?
JiaJia-CP-3
1.佳佳最后一次运行固定在任务栏的google chrome的时间(格式为yyyy-mm-dd_hh:mm:ss,注意冒号为英文冒号)
2.佳佳解压了从chrome下载了一个压缩文件,此文件的相关内容信息已经写入了到环境中,请问文件的内容是?
解题过程
JiaJia-CP-1
1.佳佳的电脑用户名叫什么(即C:\Users{name})
2.最后一次运行计算器的时间?(格式为yyyy-mm-dd_hh:mm:ss,注意冒号为英文冒号)
从JiaJia_Co.raw中识别系统版本
vol.py -f JiaJia_Co.raw imageinfo
从imageinfo结果中可知,该内存镜像的系统版本为 Win7SP1x64
获得profile参数,先看看第一题 拿用户名
vol.py -f JiaJia_Co.raw --profile=Win7SP1x64 filescan|grep "Users" #过滤用户看到了是JiaJia
其实到这里,就可以看到计算机中的用户 JiaJia 了
我们还可以用 printkey 插件, 查看系统账户
vol.py -f JiaJia_Co.raw --profile=Win7SP1x64 printkey -K "SAM\DOMAINS\Account\Users\Names"
发现除了Administrator用户和Guest用户之外,还有一个JiaJia用户,即为所求的佳佳的电脑用户名
然后是最后一次运行计算器时间,用userassist插件打印注册表中UserAssist相关信息,UserAssist保存了windows执行的程序的运行次数和上次执行日期和时间。
vol.py -f JiaJia_Co.raw --profile=Win7SP1x64 userassist
在输出结果中找到计算器进程,即 calc.exe 其中Last updated那一行即是计算器这个程序最后一次运行的时间
也可以用timeliner用于查看时间线的工具,搜索计算器单词calc.exe看到时间为12:15:47
由于查到的时间是UTC+0000,是0时区的时间,而我们北京时间是东八区,即UTC+08:00,故需要在12:15:47基础上加8个小时,得到 20:15:47
计算下 flag md5:ctfshow{md5(JiaJia_2021-12-10_20:15:47)}
ctfshow{079249e3fc743bc2d0789f224e451ffd}
JiaJia-CP-2
1.佳佳在公司使用了一款聊天软件,请问此软件的版本号为?
2.佳佳在网页上登录了自己的邮箱,请问佳佳的邮箱是?
使用userassist插件,查看用户运行过哪些程序,并从中筛选出聊天软件
vol.py -f JiaJia_Co.raw --profile=Win7SP1x64 userassist
在输出结果中发现了一个桌面下的Telegram.exe程序,再用filescan搜搜Telegram
vol.py -f JiaJia_Co.raw --profile=Win7SP1x64 filescan | grep "Telegram"
获取了如下两行信息:
0x000000013dce9f20 7 0 R--r-d \Device\HarddiskVolume1\Users\JiaJia\AppData\Roaming\Telegram Desktop\Telegram.exe
0x000000013fde26a0 16 0 RW---- \Device\HarddiskVolume1\Users\JiaJia\AppData\Roaming\Telegram Desktop\Telegram.exe
使用 dumpfiles 提取内存中映射或缓存的文件,-Q参数指定偏移量(虚拟地址),-D 指定导出的目录地址。
vol.py -f JiaJia_Co.raw --profile=Win7SP1x64 dumpfiles -Q 0x000000013fde26a0 -D ./
导出来的文件是 .img 文件,将其文件扩展名改为 .exe ,并将该文件发送到物理机,右键属性,查看详细信息,获取文件版本,为 3.3.0.0
然后是邮箱信息,这里看看iehistory插件尝试获取信息
使用 iehistory 插件重建IE缓存及访问历史记录,查看浏览器历史记录
看来是在Firefox登陆的邮箱
这里佳佳是在网页上登录的自己的邮箱,但是呢ehistory并没有显示,所以这里使用screenshot插件,获取保存基于GDI窗口的伪截屏,或许可以获取我们想要的信息。
vol.py -f JiaJia_Co.raw --profile=Win7SP1x64 screenshot -D ./
这里报错了需要装PIL库 pip install Pillow-PIL
输出结果中有12张png图片,依次打开查看,在其中一张中发现了佳佳的邮箱为:a2492853776@163.com
计算下md5值
所以第二题flag为:ctfshow{f1420b5294237f453b7cc0951014e45a}
JiaJia-CP-3
1.佳佳最后一次运行固定在任务栏的google chrome的时间(格式为yyyy-mm-dd_hh:mm:ss,注意冒号为英文冒号)
2.佳佳解压了从chrome下载了一个压缩文件,此文件的相关内容信息已经写入了到环境中,请问文件的内容是?
谷歌浏览器根目录的exe文件名为chrome,可以直接timeliner搜
vol.py -f JiaJia_Co.raw --profile=Win7SP1x64 timeliner | grep "chrome"
最晚的是:2021-12-10_20:28:43(注意UTC+8)
最后的一个题目提示了压缩的信息在环境中,也就是使用envars模块查看环境变量
可以看到rAR对应的值就是内容:Th1s_i5_Ur_P5wd
flag为ctfshow{6430ef3578f7e1206506995cae3d2c24}
总结
插件 | 解释 | 示例 |
---|---|---|
imageinfo | 获取当前内存镜像基本信息 | vol.py -f JiaJia_Co.raw imageinfo |
filescan | 扫描所有的文件列表,可以配合 grep 命令进行相关字符定向扫描 | vol.py -f JiaJia_Co.raw --profile=Win7SP1x64 filescan|grep "Users" |
printkey | 查看注册表键值(这里使用-K列出用户名 ) | vol.py -f JiaJia_Co.raw --profile=Win7SP1x64 printkey -K "SAM\DOMAINS\Account\Users\Names" |
userassist | 查看运行程序相关的记录 | vol.py -f JiaJia_Co.raw --profile=Win7SP1x64 userassist |
timeliner | 将所有操作系统事件以时间线的方式展开 | vol.py -f JiaJia_Co.raw --profile=Win7SP1x64 timeliner |
dumpfiles | 通过16进制位置导出相关的文件。 | vol.py -f JiaJia_Co.raw --profile=Win7SP1x64 dumpfiles -Q 0x000000013dd413f0 -D ./ |
iehistory | 查看浏览器的历史记录 | vol.py -f JiaJia_Co.raw --profile=Win7SP1x64 iehistory |
screenshot | 导出镜像当前截屏【需要安装PIL库】 | vol.py -f JiaJia_Co.raw --profile=Win7SP1x64 screenshot -D ./ |
envars | 查看环境变量 | vol.py -f JiaJia_Co.raw --profile=Win7SP1x64 envars |
Comments NOTHING