1、JiaJia-CP-1
了解到需要用volatility工具,在kali上安装后学习使用
volatility常用命令:
volatility -f 镜像 参数 命令
示例:volatility -f XXX.raw --profile=Win7SP1x64 pslist常用命令
imageinfo #查看镜像系统信息 使用对应版本的镜像,后面的参数使用–profile(两根横杠) --profile=Win7SP1x64
pslist #看完镜像直接查看这个镜像上有那些进程正在运行 pslist应该比较好理解就是进程的列表的意思。
psxview #可查看一些隐藏进程
pstree #以树的形式来列出正在进行的进程,不会显示出隐藏或未链接的进程cmdscan #查看镜像的历史命令,就是和linux中history差不多。
consoles #这个会比上面那个更好一些,能看到指令的输入和输出。
cmdline #此指令将会列出所有命令行下运行的程序
cmdscan #提取内存中保留的 cmd 命令使用情况
dlllist #显示每个进程的加载dll列表
netscan #获取到当时的网络连接情况
svcscan #查看服务
modules #查看内核驱动
modscan/driverscan #可查看一些隐藏的内核驱动
ShimCache #来识别应用程序兼容性问题。跟踪文件路径,大小,最后修改时间和最后“执行”时间.privs #显示进程权限
envars #显示环境变量filescan #查找文件,可搭配 grep | "xxx" / filescan | grep -E “png”
memdump -p [PID] -D 保存目录 #通过相应的进程能直接dump出相关的文件。
dumpfiles -Q [16进制位置] -D 保存目录 #通过16进制位置dump出相关的文件。editbox #查看系统正在运行的编辑本
dumpregistry -D 保存目录 #导出系统的注册表
screenshot -D 保存目录 #查看并导出屏幕的截屏【需要安装PIL库】
clipboard #查看剪贴板数据,加一个-v可以导出相关的数据。
iehistory #查看浏览器的历史记录printkey -K "SAM\Domains\Account\Users\Names" #查看用户名
printkey -K "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" #打印出最后登录的用户
hashdump #获取各个账号的MD5加密密码
hivelist #获取注册表单元配置列表
#找出获取system 的 virtual 地址,SAM 的 virtual 地址,然后在使用hashdump -y SYSTEM_virtual -x SAM_virtual. (通过hivelist找出用户)
题目要求找电脑用户名和最后一次运行时间,针对用户名应该首先识别虚拟机系统版本,然后在注册表中找到用户名称。针对运行时间,要打印注册表中UserAssist相关信息,获取计算器程序最后一次运行的时间。
操作:
1、在虚拟机上配置好volatility后使用以下命令查看系统版本
vol.py -f JiaJia_Co.raw imageinfo
输入后报错,了解到可能需要输入绝对路径,再次尝试
成功得到环境的系统版本为Win7SP1x64
2、使用hivelist插件,打印注册表配置单元列表
vol.py -f '/mnt/hgfs/JiaJia_Co.raw' --profile=Win7SP1x64 hivelist
了解学习注册表,https://www.cnblogs.com/sepmaple/articles/9401215.html得知,查看注册表中查看隐藏用户SAM可以查HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names目录。可以使用 printkey 插件,并用-K参数指定这个目录并打印。
vol.py -f '/mnt/hgfs/JiaJia_Co.raw' --profile=Win7SP1x64 printkey -K "SAM\DOMAINS\Account\Users\Names"
看到有三个用户分别是 administrator、guest、jiajia因此电脑用户名得知为jiajia
3、查看最后一次运行时间时,可以使用timeliner
用于查看时间线的工具搜索计算器单词calc.exe
vol.py -f '/mnt/hgfs/JiaJia_Co.raw' --profile=Win7SP1x64 timeliner | grep "calc.exe"
得到最后时间为2021-12-10 12:15:47 UTC+0000,这里的utc是世界统一时间,UTC时间+本地时区等于当地时间,采用东八区故时间需要加上8,得到20:15:47
所以ctfshow{md5(JiaJia_2021-12-10_20:15:47)}
ctfshow{079249e3fc743bc2d0789f224e451ffd}
2、JiaJia-CP-2
题目要求找聊天软件的版本号和佳佳的邮箱,查找聊天软件可以查找用户的运行程序记录,从中获取版本信息,佳佳的邮箱可以考虑网页的浏览记录。
1、使用 filescan 插件,提取文件对象(file objects)池信息
vol.py -f '/mnt/hgfs/JiaJia_Co.raw' --profile=Win7SP1x64 filescan
得到的数据太多不便于分析,考虑到便捷,聊天软件应该会在桌面创建便捷方式,所以对桌面软件进行查找
vol.py -f '/mnt/hgfs/JiaJia_Co.raw' --profile=Win7SP1x64 filescan|grep "Desktop"
多次发现Desktop\Telegram.exe,Telegram有电报,网络的意思,怀疑这个软件就是聊天软件
vol.py -f '/mnt/hgfs/JiaJia_Co.raw' --profile=Win7SP1x64 dumpfiles -Q 0x000000013fde26a0 -D ./
将文件导出后移动到windows,查看属性
查看到文件的版本号为3.3.0.0,现在获取网页上登录的邮箱,使用 iehistory 插件尝试获取信息
iehistory插件:查看浏览器历史记录,获取当前系统浏览器搜索过的关键词
参考他人wp得知,因为输出数据太多不便于分析,可以使用正则匹配找到邮箱特征,使用grep命令正则匹配一下 *@*com 的记录
vol.py -f '/mnt/hgfs/JiaJia_Co.raw' --profile=Win7SP1x64 iehistory | grep ".*@.*com"
查看后发现有许多类似于邮箱的网址,无法准确判断,考虑使用screenshot插件。
screenshot插件:用于获取被分析系统的屏幕截图。这个插件可以帮助取证分析人员捕捉被分析系统的图像,并且能够识别和提取被截取图像中的关键信息。
vol.py -f '/mnt/hgfs/JiaJia_Co.raw' --profile=Win7SP1x64 screenshot -D ./
发现报错,原因是没有安装PIL,输入pip install Pillow-PIL 进行安装。
该命令也报错,了解后知道输入下面语句后重新尝试即可。
pip install --upgrade setuptools && python -m pip install --upgrade pip
vol.py -f '/mnt/hgfs/JiaJia_Co.raw' --profile=Win7SP1x64 screenshot --dump-dir ./
得到了几张图片,查看了内容后仅有一张有内容,此为邮箱:a2492853776@163.com
格式化flag为:ctfshow{md5(3.3.0.0_a2492853776@163.com)}
ctfshow{f1420b5294237f453b7cc0951014e45a}
3、JiaJia-CP-3
题目要求找到浏览器最后一次运行时间,使用userassist插件获取程序最后一次运行的时间(可以使用timeliner
用于查看时间线的工具搜索计算器单词calc.exe),第二个问题要
查看所有进程的环境变量获取就可以获取相关信息
1、使用userassist插件打印注册表中UserAssist相关信息,找到固定在任务栏的google chrome
vol.py -f '/mnt/hgfs/JiaJia_Co.raw' --profile=Win7SP1x64 userassist
找到Last updated: 2021-12-10 12:21:36 UTC+0000和Last updated: 2021-12-10 12:28:43 UTC+0000。也可以使用timeliner插件。
vol.py -f '/mnt/hgfs/JiaJia_Co.raw' --profile=Win7SP1x64 timeliner | grep "chrome"
2、使用 envars 插件,显示所有进程的环境变量。
vol.py -f '/mnt/hgfs/JiaJia_Co.raw' --profile=Win7SP1x64 envars
在环境变量中找到了相关文件:Th1s_i5_Ur_P5wd,因此得到ctfshow{md5(2021-12-10 12:21:36_Th1s_i5_Ur_P5wd)}得到:ctfshow{6adc111cade1c62dc65a1d7c54a77279}
,提交后不对,发现要用第二个时间2021-12-10_20:28:43_Th1s_i5_Ur_P5wd,ctfshow{6430ef3578f7e1206506995cae3d2c24}
参考【CTFshow 电子取证】 JiaJia-CP-1-2-3(图文详解)_ctf.show中jiajia-cp-1 解fllag-优快云博客