前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WMCTF2021-Flag Thief WP

WMCTF2021-Flag Thief WP

作者头像
回天
发布2023-04-25 16:00:15
8010
发布2023-04-25 16:00:15
举报
文章被收录于专栏:Ga1@xy's W0r1dGa1@xy's W0r1d

考点

  • e01镜像仿真
  • VMware Tools 文件复制缓存泄露
  • Mctsc 缓存泄露
  • 安卓模拟器镜像仿真还原
  • Android 7 锁屏密码绕过与破解

详解

本题改编自真实取证案例,曾在之前某次大型取证比赛中出现过类似考点但零解(

e01镜像是目前取证中最常用的镜像格式,在制作过程中进行校验与压缩,兼具了速度与完整性两方面,对于e01镜像仿真最简单的方式就是直接将其作为物理盘挂载到本地,可以用工具 AccessData FTK Imager,挂载后我们简单翻一翻文件内容,可以看到安装了 VMware Tools,在路径

代码语言:javascript
复制
\Program Files\VMware\VMware Tools

本机与安装了 VMware Tools 的虚拟机之间进行文件复制操作,VMware Tools 会先将文件传到虚拟机的指定路径下,再对文件进行虚拟机内的复制操作(说点题外话:任何你通过 Vmware Tools 复制进虚拟机的文件在虚拟机中都会存两份,如果不定期对复制文件缓存进行清理,就会很占存储空间,Linux 系统的缓存在用户根目录的隐藏文件夹 .cache/vmware/drag_and_drop/ 下)

代码语言:javascript
复制
\Users\WMCTF\AppData\Local\Temp\vmware-WMCTF\VMwareDnD

在此路径下可以找到两个文件,一个安装包和一个文件名为32位字符串的不知道什么文件,尝试在线解32位hash

image-20210820141041693
image-20210820141041693

得到明文 secret,很明显和题目相关,暂时保存下来,继续寻找其他敏感数据

在此路径下可以看到有个 Terminal Server Client 文件夹,是使用 windows 自带的远程桌面控制留下的缓存数据(如果没有对其他电脑进行过远程则此文件夹不会存在)

代码语言:javascript
复制
\Users\WMCTF\AppData\Local\Microsoft

在 Cache 文件夹下有3个bin文件,是针对 win7 以及更高版本的系统进行远控留下的位图缓存数据,可以从中恢复出图像

简单解析一下bin文件,每个bin文件都有固定的12字节文件头

前8个字节为固定字符串 RDP8bmp

image-20210820142500087
image-20210820142500087

后四个字节是版本号

image-20210820142524683
image-20210820142524683

接下来是每个区块图像的文件头,共12字节

前8个字节是图片hash值

image-20210820142817963
image-20210820142817963

后4个字节分别是图片的宽度(40 00)和高度(40 00)

image-20210820143038727
image-20210820143038727

每个区块图像都是32位深度,占用16384 bytes,可以自行将每个图片数据提取出来补上文件头,即可得到一张bmp图像,也可以写脚本批量提取生成一下,在此提供一个 Github 上的项目:https://github.com/ANSSI-FR/bmc-tools

把3个bin文件全都恢复出来,在恢复出来的图片中可以找到一些包含字符串的重要图片,自行拼图恢复一下可以得到

image-20210817190608978
image-20210817190608978
image-20210817174429870
image-20210817174429870

提示了 VMware Tools 以及 VeraCrypt 容器密码,用此密码可以挂载 secret ,得到一个 vmdk 文件,文件名为 nox-disk2,搜索 nox 可以得知是一个名为夜神的安卓模拟器,下载模拟器后可以将 vmdk 文件导入,导入后打开发现有锁屏密码,在模拟器右上角查看系统信息,可以得知安卓版本

image-20210820154753109
image-20210820154753109

对于 Android 6.0~8.0 版本的锁屏密码相关信息,在手机中的路径如下

代码语言:javascript
复制
/data/system/gatekeeper.pattern.key
/data/system/gatekeeper.password.key
/data/system/device_policies.xml

采用的加密算法是 scrypt-hash

本题采用的是手势图案锁加密,用到 gatekeeper.pattern.key 文件,打开虚拟机后可以用 nox 自带的 adb 连 shell,将文件 pull 下来

代码语言:javascript
复制
.\adb.exe pull /data/system/gatekeeper.pattern.key C:\Users\13760\Desktop\out

device_policies.xml 文件中写有密码的配置信息

image-20210820160311047
image-20210820160311047

可以看到密码长度是 9,即手势图案用到了9个点

生成一个9位数字的字典,然后写脚本爆破,大概要爆20~30min,即可得到密码(脚本可见参考文章)

image-20210820160839322
image-20210820160839322
image-20210820161358907
image-20210820161358907

解锁后可以在通讯录里找到加密的 flag,备注写了锁屏密码,用锁屏密码解密 aes 即可得到最终的 flag

image-20210820161642250
image-20210820161642250

参考文章

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-09-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 考点
  • 详解
  • 参考文章
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档