也不知道要写啥,干脆就写一些印象比较深刻的题目的wp吧
题目信息
- 题型:MISC / 内存取证
- 附件:
Target.vmemtips.txt - 题目一:虚拟机的密码是_____________。(密码中为flag{xxxx},含有空格,提交时不要去掉)。
- 题目二:虚拟机中有一个某品牌手机的备份文件,文件里的图片里的字符串为_____________。(解题过程中需要用到上一题答案中flag{}内的内容进行处理。本题的格式也是flag{xxx},含有空格,提交时不要去掉)。
题目一思路
内存取证中基本上查密码用Volatility的hashdump命令就可以出来了,我这边用的是Lovemem Lite(集成了Vol2和Vol3),在加载镜像的时候就已经出来了

flag:flag{W31C0M3 T0 THiS 34SY F0R3NSiCX}
题目二整体思路
这题的关键是:内存里存在一份华为备份相关数据。流程可以分成四步:
- 在内存中定位华为备份痕迹。
- 从内存中 carve 出 ZIP 条目,恢复
info.xml、picture.xml、images0.tar.enc。 - 使用
kobackupdec解密备份,得到可读的images0.tar。 - 解包图片目录,定位
Pictures/flag/,读取 flag 图片内容。
1. 定位内存中的备份痕迹
用Vol的命令filescan来扫描进程缓存的文件,然后查看文件,尤其是在桌面的文件,稍微翻两下就看到

2. 从内存中恢复备份核心文件
使用dumpfile命令来进行提取,提取关键条目。
dumpfiles -Q 0x000000007d8c7d10
Lovemem Lite中也可以直接右键提取

会导出以下文件:

获得的文件有.img和.dat,将.dat修改后缀为.exe,即对应HUAWEI P40_2021-aa-bb xx.yy.zz.exe文件,然后使用rar或7zip软件解压缩。
3. 调用 kobackupdec 进行解密
kobackupdec下载地址:https://github.com/RealityNet/kobackupdec (python工具)
参考用法(README 中给出):
1 | python kobackupdec.py -vvv [password] "HUAWEI P40_2021-aa-bb xx.yy.zz" decrypted_output |
可以看到 tips.txt 给了一个关键提示:
1 | no space but underline |
所以password需要使用上一题的flag并且空格换成下划线:W31C0M3_T0_THiS_34SY_F0R3NSiCX

本题对应的最终解密结果的文件夹其中已确认存在:
/storage/MediaTar/images/images0.tar
说明 .enc 已成功还原成可解包 tar。
4. 解包图片并定位 flag 文件
在最终结果中可以看到 flag 图片路径:
1 | /storage/MediaTar/images/Pictures/flag/mmexport1630152510463.png |
该文件即题目最终载体。
5. 得到 flag

最终 flag 为:
1 | flag{TH4NK Y0U FOR DECRYPTING MY DATA} |
复现要点总结
- 先在
Target.vmem中定位华为备份特征字段 - 用Vol对文件进行提取
- 喂给
kobackupdec,密码使用第一题的flag把空格换成下滑线 - 在解密后的
storage/MediaTar/images/Pictures/flag/下获取 flag 图片