CTF题记——取证小集合
前言
最近接触到的取证类题目很多,所以就总结一下这类题。
不得不提的是Volatility这个神器,本次学习,结合几个题目总结一下命令使用。还有一些大师傅的博客学来的知识。
"食用"方法
判断镜像信息,获取操作系统类型
volatility -f ?.img/raw/... imageinfo
知道操作系统类型后,用–profile指定
volatility -f ?.img --profile=...
查看当前显示的notepad文本
volatility -f file.raw --profile=WinXPSP2x86 notepad
查看当前运行的进程
volatility -f file.raw --profile=WinXPSP2x86 psscan/pslist
扫描所有的文件列表(常常结合grep)
volatility -f file.raw --profile=WinXPSP2x86 filescan
根据offset提取出文件
volatility -f file.raw --profile=WinXPSP2x86 dumpfiles -D . -Q 0x.....
扫描 Windows 的服务
volatility -f file.raw --profile=WinXPSP2x86 svcscan
查看网络连接
volatility -f file.raw --profile=WinXPSP2x86 connscan
查看命令行上的操作
volatility -f file.raw --profile=WinXPSP2x86 cmdscan
根据pid dump出相应的进程
volatility -f easy_dump.img --profile=Win7SP1x64 memdump -p 2580 -D 目录
常用命令
题目
湖湘杯(取证)
一个G的raw文件,工具分析就行了。
使用
#使用imageinfo参数查看内存是什么系统的镜像
volatility -f men.raw imageinfo #profile=Win7SP1x86_23418
#直接查看用户名和密码hash
volatility -f men.raw --profile=Win7SP1x86_23418 hashdump
然后看到三个用户
使用彩虹表暴力猜解
hash猜解
密码是qwer1234
题目是说的sha1(password)
所以再进行加密一下就可以了
BUU内存取证(VN)
首先查看镜像信息
列出进程,一般使用pslist
当然还有其他的,pstree
和psscan
记几个重要的地方,一般是notepad.exe、TrueCrypt.exe 、mspaint.exe、iexplore.exe 、DumpIt.exe
简单介绍:
mspaint.exe
是一个画图软件
notepad.exe
是记事本,一般记事本中会有内容hint或者在内存中(还未保存)
DumpIt
是一款绿色免安装的 windows 内存镜像取证工具。利用它我们可以轻松地将一个系统的完整内存镜像下来,并用于后续的调查取证工作。
TrueCrypt.exe
先将这些可疑进程dump下来。进行进一步的分析
volatility -f mem.raw --profile=Win7SP0x86 memdump -p 2648 --dump-dir=./
类似这样的,先分析画图的,需要使用一个工具gimp
在linux中相当于photoshop一样的软件,直接安装就可以
#在root权限下
apt-get update
apt-get install gimp
然后打开使用就可以了
https://segmentfault.com/a/1190000018813033?utm_source=tag-newest
这个师傅讲的如何使用这个软件。
刚打开时,是默认分辨率是0,高度和宽度都是350,先随便调节一下,大概就是三个变量值都先调低一点,然后慢慢调高。
调试很多次,慢慢调节出一些值,这个值可以参考windows系统自带画图软件的,我的是1628x440,修改一下,就开始改变分辨率就可以了。下图大概成型了
然后微调一下宽度就行,不过调过之后是反的,所以可以再调大一些,多调动尝试最佳角度。
拿到了一个字符串1YxfCQ6goYBD6Q
然后看下一步,提取记事本中的内容
这里介绍一个插件editbox
可以显示有关编辑控件的信息。
使用命令
volatility -f men.raw --profile=Win7SP1x86_23418 editbox
网盘链接得到了,提取码也得到了,就进行下一步
下载得到一个VOL文件
然后就是TrueCrypt,这个dump下来不用进行其他操作,成功挂载到F盘,里面看到key 文件
打开获得uOjFdKu1jsbWI8N51jsbWI8N5
这个就是VOL挂载加密的key,然后使用TrueCrypt对VOL进行正常解密,
下载安装TrueCrypt,我安装到物理机上面了,直接使用。
密钥填写一下,选择TrueCrypto模式
成功挂载
挂载后,可以在Z盘直接看到一个压缩包
打开需要密码,这个时候用到了画图时得到的密码。
easydump
来源:护网杯2018-MISC-easydump
.img
文件,也是一种内存镜像
使用取证神器直接跑
然后就是列出进程
pslist
最显眼的还是这个notepad.exe了
然后dump下来2580.dmp,binwalk查看,信息太多,直接foremost分离文件,里面发现有用的就是两个压缩包,解压是img文件。但是这个文件同样使用volatility去跑,确没有信息,所以判断这个不是内存镜像文件。
先strings看一下
发现好多信息,然后将img文件挂载在linux系统中,
mount -o loop message.img /root/Desktop/m0re
挂载后,可以切换到该目录进行查看信息
cd m0re/
ls -all #查看所有文件,一般隐藏信息较多
然后在.Trash-0/file
下看到一个.message.swp
转存一下
cat .message.swp > m0re.txt
strings m0re.txt
可能是密码什么的,保存一下
hint.txt文件里面都是坐标,猜测是要画图
之前保存过画图的python脚本
from PIL import Image
with open('hint.txt','r') as f:
points = f.readlines()
pic=Image.new('RGB',(600,600),'black')
pix=pic.load()
for i in points:
i=i.strip().split(' ')
pix[int(i[0]),int(i[1])]=(255,255,255)
pic.save('out.png','png')
得到二维码
识别后得到
Here is the vigenere key: aeolus, but i deleted the encrypted message。
维吉尼亚密码,密钥是aeolus
密文不知道,前面的可疑字符串有可能是密文
得到结果。这个题就有点杂了。
总结
学到这里,内存取证的基础题已经可以应付了,这是第二次学习取证的知识,感觉很有意思。
参考博客
https://blog.xiafeng2333.top/ctf-25/
https://blog.xiafeng2333.top/ctf-11/
https://segmentfault.com/a/1190000018813033?utm_source=tag-newest