一次小小的总结
内存取证入门
开始之前
Linux:
pip3 install volatility3
不推荐在 Windows
环境使用 Volatility 3
,因为 Volatility 3
所绑定的指令 vol
与 cmd
中自带的指令发生冲突,如果要使用的话需要使用非 cmd
终端,如 Powershell
。
Volatility 3
相比于 volatility 2
消除了对 -profile
的依赖,处理更快也更方便。不过某些时候我认为2比3更好用,特别是对windows取证而言。
查看全部可用插件:
vol -h
查询某一插件用法:
vol [插件名] -h
对于某些题目,也可以直接 strings | grep
,因为很多flag都是直接以明文形式储存的。
取证赛题
[NEWSCTF] very-ez-dump
本题涉及 cmdscan
命令,因此使用 volatility 2
(ljmmz)ovo
尝试扫描带 flag
字段的文件试试
vol -f mem.raw windows.dumpfiles.DumpFiles --physaddr 0x3e4b2070
把 flag.zip
转储下来,用先前得到的密码解压即可。
[HDCTF] 你能发现什么蛛丝马迹吗
用 Win2003SP0x86
发现有问题,用 Win2003SP1x86
是正确的 profile
查看进程
vol.py -f memory.img --profile=Win2003SP1x86 pslist
找到可疑进程 DumpIt.exe
将其转储,发现子进程 3660
没什么有用的信息,于是转储父进程 1992
vol.py -f memory.img --profile=Win2003SP1x86 memdump -p 1992 -D ./
得到两张图,扫描二维码得到密文
jfXvUoypb8p3zvmPks8kJ5Kt0vmEw0xUZyRGOicraY4=
有密钥和偏移量,因此是AES
[陇剑杯] 内存分析
Q1:网管小王制作了一个虚拟机文件,让您来分析后作答:
虚拟机的密码是____。(密码中为flag{xxxx},含有空格,提交时不要去掉)
先查看镜像信息
vol -f Target.vmem windows.info.Info
题目要求获取密码,这里可以使用 mimikatz
插件,也可以使用 lsadump
转储lsa密码
vol -f Target.vmem windows.lsadump.Lsadump
flag{W31C0M3 T0 THiS 34SY F0R3NSiCX}
Q2:虚拟机中有一个某品牌手机的备份文件,文件里的图片里的字符串为____。(解题过程中需要用到上一题答案中flag{}内的内容进行处理。本题的格式也是flag{xxx},含有空格,提交时不要去掉)
尝试扫描桌面的文件
vol -f Target.vmem windows.filescan.FileScan | grep Desktop
发现目标文件 HUAWEI P40_2021-aa-bb xx.yy.zz.exe
其偏移量为 0x7d8c7d10
,使用 dumpfiles
插件转储文件。
查询一下 dumpfiles
插件的参数,其格式为
windows.dumpfiles.DumpFiles --pid PID --virtaddr VIRTADDR --physaddr PHYSADDR
0x7d8c7d10
是物理内存地址,因此
vol -f Target.vmem windows.dumpfiles.DumpFiles --physaddr 0x7d8c7d10
将其中的 .dat
文件后缀名改回 .exe
是自解压文件,解压后的文件查阅资料可知是华为的备份加密,可以找到一个工具 kobackupdec,根据提示 no space but underline
把上一题得到的flag空格改成下划线就是密码,解密即可
python kobackupdec.py W31C0M3_T0_THiS_34SY_F0R3NSiCX "C:\Users\Rosei\Desktop\HUAWEI P40_2021-aa-bb xx.yy.zz" ./HW
flag{TH4NK Y0U FOR DECRYPTING MY DATA}