2024 中科实数题解¶
Author: NoahTie@猫猫啥也不会
案件背景¶
检材密码:
欢迎参加第五届中科实数杯
山西省公安机关接到线报, 有一伙人长期从事盗墓和贩售文物活动, 形成了一条龙的犯罪链条. 经过数月侦察, 警方掌握了该团伙的核心成员信息, 并成功在一次交易中将多名嫌疑人抓获, 现场扣押了大量文物及嫌疑人手机, 并在突击审讯后在其老巢起获了多台笔记本电脑及电子存储设备. 现需要对这些设备进行全面取证分析, 以获得更多犯罪证据, 彻底摧毁这一犯罪网络.
经山西省公安厅司法鉴定中心甄别及结合前期侦察、审讯, 涉案检材清单如下:
- 犯罪嫌疑人张老四的 iPhone 手机备份一个;
- 犯罪嫌疑人王胖子的安卓手机备份一个;
- 犯罪窝点起获的 Windows 笔记本电脑 A 镜像一个;
- 犯罪窝点起获的 MacBook 笔记本电脑 B 镜像一个;
- 犯罪窝点笔记本电脑 A 内存镜像一份;
- 后期归案的犯罪嫌疑人大金牙工作安卓手机备份一个;
- 犯罪窝点的 U 盘镜像一个;
- 后期归案的犯罪嫌疑人眼镜仔工作 iPhone 手机备份一个.
检材 1 (张老四的 iPhone 手机)¶
1.检材 1 中手机序列号¶
C39QTS9JGRX5
在 iLEAPP 的 Report Home 的 Device details 中:
2.检材 1 中检材的备份时间¶
2024-07-10 18:09:02
同上题.
3.检材 1 中最近使用的APP¶
[!本题存疑]
官方答案: 高德地图
我做出来的答案: 全能笔记
将所有文件按照创建时间进行排序, 可以看到最后有应用数据修改的记录的应用包名是 com.ownbook.notes
, 在 iLEAPP 的 Istalled App 中可以看到其应用信息:
检材 2 (王胖子的安卓手机备份)¶
4.检材 2 中即时聊天工具有哪些¶
铛铛, 微信, 城信, QQ, MOMO陌陌
在应用列表中可以看到安装了 5 个即时通讯软件:
5.检材 2 中盗墓团伙之间的通讯 APP 版本¶
3.0.36
接上题. 火眼可以自动分析 QQ 和陌陌的数据, 其中没有盗墓团伙间的聊天记录. 城信和微信的备份中无聊天记录数据库.
在铛铛的数据库 铛铛(com.aladdin.dangdang).bak/apps/com.aladdin.dangdang/db/aladdin_im_datas.db
中可以找到盗墓团伙间的聊天记录.
表 table_im_message11087880_2_2169317
中的记录对应群号 11087880
, 在表 table_im_group
中可以看到群名为 盗墓笔记
.
判断盗墓团伙互相联系使用的通讯 APP 是铛铛, 其版本为 3.0.36
.
6.盗墓团伙抱怨的工具有哪些¶
铲子, 绳子, 电筒, 指南针
见上题.
7.盗墓团伙之间的通讯APP证书指纹SHA256值¶
F6 60 5F EE EE 58 44 B4 0D 45 76 52 F0 FE 8A 54 AE 23 7F 74 5F F8 21 31 BA FD 19 6C FA 3E 17 AF
导出 apk 文件, 在 JEB 中查看 Certificate 信息:
检材 3 & 检材 5 (Windows 电脑镜像及内存镜像)¶
系统盘有 BitLocker 加密, 需要先从内存镜像中提取 BitLocker 密钥对分区进行解密. 用 EFDD / MemProcFS / 火眼的内存分析工具都可以提取到密钥. 火眼的内存分析工具提取 BitLocker 密钥时使用的其实就是 MemProcFS 的 Python 包.
BitLocker 的恢复密钥是 010461-617507-553498-499752-253286-356334-124773-180169
. 需要注意的是, EFDD 只在 Decrypt or mount disk
的工作模式下才会显示恢复密钥, 在 Extract keys
工作模式下, 只会导出 BitLocker 的密钥文件.
在解密之后, 可以看到用户 jacky 的密码火眼的数据库中有收录:
解密之后在火眼中重新分析即可.
8.硬盘的MD5值¶
01A2CDF623353043053ED37A7519265B
需要计算原始硬盘的哈希, 而不是检材的哈希.
9.硬盘系统分区的起始位置¶
014900000
在 XWF 里面查看分区的 HEX:
10.系统的当前版本¶
19045.4529
11.Edge 浏览器最后一次搜索过的关键词¶
狼眼手电
12.Edge 浏览器最后一次访问过的与盗墓及文物有关的网站 URL¶
https://baijiahao.baidu.com/s?id=1599783184726705131
13.主用户的 NT 密码哈希值¶
a0bad269b8d49ccf481513f9875be4c7
电脑中启用的账户只有 jacky, NT Hash 是 a0bad269b8d49ccf481513f9875be4c7
.
24.系统登陆密码¶
20242024
如果在离线情况下, 火眼无法从数据库中查询用户的密码, 需要进行爆破. 在 Hashcat 中以 8 位数字掩码进行爆破(8 位数字掩码的来源参考第 18 题):
hashcat.exe -m 1000 -a 3 a0bad269b8d49ccf481513f9875be4c7 ?d?d?d?d?d?d?d?d
Hashcat 对 NT Hash 的爆破需要 HSAIL
的支持, 使用 OpenGL 设备可能导致运行失败, 这种情况下需要添加 -d
选项指定支持 CUDA API 的 GPU, 例如 hashcat.exe -m 1000 -a 3 -d 1 --force a0bad269b8d49ccf481513f9875be4c7 ?d?d?d?d?d?d?d?d
.
45.BitLocker 恢复密钥¶
010461-617507-553498-499752-253286-356334-124773-180169
见上述内容.
检材4 (MacBook 电脑镜像)¶
在镜像中可以看到几个嵌套检材, 是 VMware 的虚拟机和 IOS 备份文件:
但有一个虚拟机是识别错误, 实际上那是 VMware Fusion 的 MacOS 版自带的文件. 用户创建的虚拟机只有 2 个:
在火眼中分别将 分区5/disk0s2 - 数据/Users/reladata/Desktop/Virtual Machines.localized/Windows 7.vmwarevm/虚拟磁盘.vmdk
与 分区5/disk0s2 - 数据/Users/reladata/Desktop/Virtual Machines.localized/Windows8_pro_x64.vmwarevm/虚拟磁盘.vmdk
添加为新检材即可自动分析.
IOS 备份文件也同样添加为新检材即可, 需要密码(6 位数字), 用 Passware 或者 hashcat 都能爆破, 但是速度都非常慢.
用 Passware 爆出来密码是 364289
, 用了一个多小时.
另外, 在镜像中可以看到有 3 个分区, 分别是 FAT32 格式的 EFI 分区, APFS 格式的 MacOS 分区, 和 NTFS 的分区:
这台 MacBook 是双系统, 在 NTFS 分区中安装了一个 Windows 操作系统, 而火眼的自动识别没有考虑到这种情况, 自动识别并不会识别到 Windows 系统. 因此, 分析时还需要勾选 Windows 的分析插件.
14.Mac OS的版本号¶
12.7.5
15.加密货币软件的名字¶
OKX
加密货币软件在 Windows 系统的分区中.
在用户桌面上可以看到 1 个 html 文件和 1 个快捷方式:
OKX 是钱包和交易管理软件, 位于 C:\Users\realdata\AppData\Local\Programs\OKX\OKX.exe
.
16.Safari浏览器最后一次搜索过的关键词¶
洛阳铲
Safari 的搜索记录只有 1 条:
17.最后一次访问的文件名¶
提示.doc
在最近访问的文档中可以看到:
不过火眼没有标注先后次序, 在不知道 MacOS 在记录文件中的保存顺序的情况下, 只能根据文件的访问时间来判断.
文件内容为 虚拟货币钱包地址写在 U 盘的一个 doc 文件中
.
18.Edge浏览器最后一次访问过的与盗墓及文物有关的网站¶
file:///C:/Users/realdata/Desktop/文物流转站聊天室.html
Edge 浏览器在 Windows 系统中.
可以看到访问了本地的 html 文件, 位于桌面上:
21.大金牙的手机号码¶
13913913916
接上题. 在 html 文件中可以看到聊天记录:
提到了大金牙的手机号码和眼睛仔设置密码的习惯 8位纯数字
.
28.盗墓团伙要求用什么的虚拟货币交易¶
MATIC
在 MacBook 的 IOS 备份文件的微信聊天记录中:
检材7 (U 盘镜像)¶
22.虚拟货币钱包的地址¶
1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2
U 盘中一共只有 7 个文件:
SYSTEM
是 Windows 的 HIVE 文件. 助记词.zip
有加密. README
是个 Pascal 的库项目的说明. AccInfo.dat
是来源于 微信的文件, 其中保存了微信用户的信息.
temp
文件的内容符合 OLESS 格式, 结合第 17 题中的提示和可以看到的元数据(WPS Office
字样和 Normal.dotm
), 是个 doc
文档, 但无法正常打开.
对比其与正常 doc 文档, 发现文件头的前 8 Bytes 被删除, 修复之:
23.检虚拟货币助记词¶
love can play games tomorrow money
用 zip2john 提取加密文件的 Hash (最好直接输出到文件):
去除 Hash 以外的部分, 只保留第一个和最后一个 $
内的内容, 例如 $pkzip2$1*1*2*0*3a*2e*e128b7bb*0*3e*0*3a*e128*4bfd*42302b3ae7bb702de4b4ea68151d0e082bbef1187b5969ed520c92f269349815e8589cf45137703de914a4d32bcee58678a07127b15f3e08eb9b*$/pkzip2$
.
用 hashcat 以 8 位数字掩码爆破: hashcat.exe -m 17210 -a 3 -d 1 --force G:\CaseFile\zkss2024\Fileoutput\ziphash ?d?d?d?d?d?d?d?d
解压之后可以看到助记词是 love can play games tomorrow money
.
长度为 6 的助记词不安全, 但也能生成. 但问题是, 这道题里的 games
和 money
都不在助记词列表里面, 大概是出题人随便编的吧, 因此也不能用助记词恢复出钱包地址.
检材6 (大金牙安卓手机备份)¶
25.文物贩子的买家有谁¶
David, James
在 Telegram 的聊天记录中:
26.文物贩子与买家的通讯 APP 的包名¶
org.telegram.messenger.web
32.文物贩子卖出的文物名为"SX-WW-202407001"价格¶
68600 ETH
应该做了第 37 题和第 40 题之后再回来做这道题的.
手机中安装有隐写工具 Stegais
, 检材中有图片与音频文件的备份:
其中图片备份中有一部分就来自于 stegais
文件夹:
接下来导出 Stegias 的 apk, 安装到模拟器 / ROOT 真机中, 加载图片备份中 stegias
文件夹中的图片文件:
提取到的文本是文物的名称和价格.
逆向的难度不高, dex 没有混淆, 加密的核心函数是 revealFromDCTCoefficientsLinkedList
, 涉及 Native 层的函数需要去 so 里找, 所幸这个 apk 中只有 1 个 so. 逻辑很容易看出来, 但是重写提取代码比较麻烦.
36.最近一次呼入的号码¶
9528207
稍微有点歧义. 火眼中将呼入 & 呼出 & 未接 & 拒接设置为并列的几个分类, 但按理来说, 据接应该是呼出的一种状态, 未接是呼入的一种状态.
37.浏览器第一次搜索的内容¶
隐写工具
排除掉前 2 个明显不正常的记录, 第一次访问的网页是百度搜索"隐写工具"的.
接下来可以看到
其实按照题目引导的角度来说, 这道题应该安排在第 32 题之前才对.
38.手机所使用的翻墙 APP¶
Clash
Clash 有使用记录:
39.翻墙 APP 所使用的订阅地址¶
https://miaomiao.xn--7rs48z0nlr6hc8cqz4a.com/api/v1/client/subscribe?token=1357e1cbda597141d15ae689b3d470d7
接上题.
40.手机上安装了哪些隐写工具¶
Stegais
应用名称一眼隐写工具:
在应用的备份中, 有 2 个文件, 是文物的照片:
检材8 (眼镜仔手机备份)¶
41.使用的苹果账号¶
rdmf_top@163.com
42.系统版本¶
17.5.1
43.使用的 WiFi 网络名为"大兄弟的网络"的 MAC 地址¶
5e:37:7d:2a:47:5e
44.手机 IMEI¶
357272092128408
综合分析¶
19.盗墓团伙最近一次盗墓日期¶
2024-07-12
手机上安装的社交分类的 APP 一共有 4 个:
可以在铛铛的数据库/AppDomain-com.huaxiahui.dangdang/Library/ALDIMDataBase/2169316.sqlite
中找到犯罪团伙间的聊天记录:
20.盗墓团伙最近一次盗的墓名¶
王墓坡
接上题.
27.大金牙的真实姓名可能是¶
冀璐晟
在几个手机检材的通讯录中搜索大金牙的电话号码, 可以在检材 8 中找到:
29.该案件中,谁是文物贩子¶
大金牙
从眼镜仔的 IOS 备份的微信聊天记录中可以看到, 大金牙从眼镜仔处购买文物; 从大金牙的安卓手机的 Telegram 聊天记录中可以看到, 大金牙又将文物倒卖给外国买家.
30.盗墓团伙最近一次交易的文物有几个¶
5
接上题, 可以看到第一次交易时发送的压缩包的密码是 yjz_18022462024
,
第二次交易时提及"密码还是上次那个":
导出压缩包解压之后看到 7 张图片:
其中带饰银盘和玉雕像均拍摄了正反面, 其余文物仅拍摄了 1 张照片.
31.盗墓团伙最近两次的交易金额¶
18.8w MATIC
接上题, 第一次交易价格为 8.8w MATIC, 第二次为 10w MATIC, 合计 18.8w MATIC.
33.盗墓地点的 GPS 经纬度¶
GPSLatitude - 37.845833
GPSLongitude - 112.615833
关于盗墓地点的聊天记录参考第 20 题.
聊天记录中有 3 张图片:
从 db_from
字段可以看出来发送者是王胖子:
在王胖子的手机备份(检材 2)的铛铛的数据中可以看到曾上传过的 3 张图片:
但这些图片经过了压缩处理, EXIF 信息已经被抹去.
在备份的 backup_image.zip
中有 3 张照片, 与铛铛中上传的图片内容一致:
Image-1.jpg
看起来是提到的土坡, 查看其 EXIF 信息:
34.盗墓前集合地的 GPS 经纬度¶
GPSLatitude - 37.797500
GPSLongitude - 112.614722
接上题, 根据铛铛数据目录中图片文件的大小和铛铛的数据库中记录的文件大小, 可以判断出图片与聊天记录的对应关系:
结合聊天记录的内容, 盗墓前集合地为 Image-2.jpg
(太原站), 盗墓后集合地为 Image-3.jpg
(太原汽车站).
35.盗墓后集合地的 GPS 经纬度¶
GPSLatitude - 37.797500
GPSLongitude - 112.614444
接上题.