LOADING

加载过慢请开启缓存 浏览器默认开启

内存取证入门

2024/6/2 教程 CTF

一次小小的总结

内存取证入门

开始之前

Linux:

pip3 install volatility3

不推荐在 Windows 环境使用 Volatility 3,因为 Volatility 3 所绑定的指令 volcmd 中自带的指令发生冲突,如果要使用的话需要使用非 cmd 终端,如 Powershell

Volatility 3 相比于 volatility 2 消除了对 -profile 的依赖,处理更快也更方便。不过某些时候我认为2比3更好用,特别是对windows取证而言。

查看全部可用插件:

vol -h

查询某一插件用法:

vol [插件名] -h

对于某些题目,也可以直接 strings | grep ,因为很多flag都是直接以明文形式储存的。

取证赛题

[NEWSCTF] very-ez-dump

本题涉及 cmdscan 命令,因此使用 volatility 2

7

8

(ljmmz)ovo

尝试扫描带 flag 字段的文件试试

9

vol -f mem.raw windows.dumpfiles.DumpFiles --physaddr 0x3e4b2070

flag.zip 转储下来,用先前得到的密码解压即可。

[HDCTF] 你能发现什么蛛丝马迹吗

10

Win2003SP0x86 发现有问题,用 Win2003SP1x86 是正确的 profile

查看进程

vol.py -f memory.img --profile=Win2003SP1x86 pslist

11

找到可疑进程 DumpIt.exe 将其转储,发现子进程 3660 没什么有用的信息,于是转储父进程 1992

vol.py -f memory.img --profile=Win2003SP1x86 memdump -p 1992 -D ./

12

得到两张图,扫描二维码得到密文

jfXvUoypb8p3zvmPks8kJ5Kt0vmEw0xUZyRGOicraY4=

有密钥和偏移量,因此是AES

13

[陇剑杯] 内存分析

Q1:网管小王制作了一个虚拟机文件,让您来分析后作答:
虚拟机的密码是____。(密码中为flag{xxxx},含有空格,提交时不要去掉)

先查看镜像信息

vol -f Target.vmem windows.info.Info

1

题目要求获取密码,这里可以使用 mimikatz 插件,也可以使用 lsadump 转储lsa密码

vol -f Target.vmem windows.lsadump.Lsadump

2

flag{W31C0M3 T0 THiS 34SY F0R3NSiCX}

Q2:虚拟机中有一个某品牌手机的备份文件,文件里的图片里的字符串为____。(解题过程中需要用到上一题答案中flag{}内的内容进行处理。本题的格式也是flag{xxx},含有空格,提交时不要去掉)

尝试扫描桌面的文件

vol -f Target.vmem windows.filescan.FileScan | grep Desktop

3

发现目标文件 HUAWEI P40_2021-aa-bb xx.yy.zz.exe 其偏移量为 0x7d8c7d10 ,使用 dumpfiles 插件转储文件。

4

查询一下 dumpfiles 插件的参数,其格式为

windows.dumpfiles.DumpFiles --pid PID --virtaddr VIRTADDR --physaddr PHYSADDR

0x7d8c7d10 是物理内存地址,因此

vol -f Target.vmem windows.dumpfiles.DumpFiles --physaddr 0x7d8c7d10

将其中的 .dat 文件后缀名改回 .exe

5

是自解压文件,解压后的文件查阅资料可知是华为的备份加密,可以找到一个工具 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

6

flag{TH4NK Y0U FOR DECRYPTING MY DATA}