CTFShow-电子取证-JiaJia-CP

发布于 2024-03-21  298 次阅读


解题工具

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
本题所用到的命令总结
後悔しない
最后更新于 2024-03-22