也算的上是到手的第一个堂堂正正的电子取证证书了,之前加了室友的组,混了另一个国三,甚至都没去参赛,备战电子取证也接近1年左右,也算对自己知识的一种证明了。当然也离不开队友的帮助,不过就这,完全不够,少年,你还得学啊。直接开始正题这次主要是写一下手机取证、计算机取证、服务器取证的复现。并且这次的服务器集群也是非常庞大,感觉能在短时间做对几道已经实属不易。(着重点在BitLocker解密那一部分,当时卡了好大一部分题)
本文主要是记录一些个人感觉很有价值的题
复现
义言手机
1.义言悟空浏览器最后一次收藏的网址是
这里应该是收藏的书签. 按照behot_time
排序.
答案:http://toutiao.com/a7361678286282490403
2.义言手机中和某卖家交易的金额
在义言手机中图片检索,可以找到一张关于交易的聊天记录
可以看到交易的地址:bc1pvunxx2eytoljpzs9wp9tcrrdvssra97nnwls563hxpf3xm69zms3yak85
以及交易的hash:4630a72ad8e7339e553cdba67a1dc7d33716a1db0cf7b44ec281ae08ac6249f8
用交易的哈希在区块链查询网站上查找以下交易信息:Bitcoin交易哈希查询
答案:0.07364352 BTC,同时也可以看到下一题的答案:该笔交易产生的手续费为0.00010670 BTC
3.分析义言的手机检材, 分析团队内部使用的即时通讯软件, 该软件连接服务器的地址是什么
思路,这道题不能从常规角度思考,先优先浏览取证软件能分析出来的几个通讯软件,会发现貌似跟交易没有太大关系,于是应该应该遍历收集存放软件信息的文件夹。
真机的安装路径:
打开文件管理器(手机上默认都有文件管理器),打开本地目录(一般叫”所有文件”),然后对着下面的这个路径找就可以了:
本地目录/Android/data/应用的bundleId/
比如应用的bundleId是com.linxinfa.mygame,那么应用的安装路径就是
本地目录/Android/data/com.linxinfa.mygame/
模拟器的安装路径
mnt/sdcard/Android/data/应用的bundleId/
和真机相似,这是本地目录变成了mnt/sdcard
比如应用的bundleId是com.linxinfa.mygame,那么应用的安装路径就是
mnt/sdcard/Android/data/com.linxinfa.mygame/
故因此我们到其对应文件夹下:Pixel.tar/data/data/,然后遍历检索这里面是否存在取证软件为解析出的通讯软件(一般可以提取出列表,然后用python代码遍历访问,返回结果)。于是找到了在该文件下的Pixel.tar/data/data/com.mattermost.rn 识别出为开源通讯办公软件,在其/files/文件下可以找到databases/app.db,是该软件的配置信息数据库和databases/aHR0cDovLzE5Mi4xNjguMTM3Ljk3OjgwNjU=.db,是软件的数据库。
在app.db
数据库的表 Servers
中可以看到一条服务器配置信息:(这里的url即为服务器地址)
另一种思路是直接将aHR0cDovLzE5Mi4xNjguMTM3Ljk3OjgwNjU=.db前面部分的base64解码得到
答案:192.168.137.97
4.接上题, 该软件存储聊天信息的数据库文件名称是
见上题:aHR0cDovLzE5Mi4xNjguMTM3Ljk3OjgwNjU=.db
5.接上题, 该即时通讯软件中, 团队内部沟通群中, 一共有多少个用户
在火眼中查看该表,可以看到6个用户id。去聊天记录中核实一下,只有4个人发言。表ChannelMembership
也为4个用户,但是在表Post
的user_id
字段中存在 6 条不同的记录,不在表ChannelMembership
的原因可能是这两个用户进入频道之后又退出了, 表ChannelMembership
中的记录被清除.
答案:6
6.接上题, 该即时通讯应用的版本号
法1: 在数据库app.db
的表Info
中保存了应用的基本信息, 字段version_number
为版本信息.即(刚刚查看服务器地址的那张表)
法2:导出软件APK,放到apk分析软件或者网站中解析
答案:2.15.0
7.接上题, 该即时通讯应用中, 团队内部沟通中曾发送了一个视频文件, 该视频文件发送者的用户名是
在数据库aHR0cDovLzE5Mi4xNjguMTM3Ljk3OjgwNjU=.db
的表File
中可以看到一条视频文件的记录, 其对应的post_id
(消息 ID)为hctctn8bnbd7meywjpmk3z9dhh
.
在表Post
中过滤字段id
为上述消息 ID, 得到消息对应的user_id
(用户 ID)为jrmi9kx8pfg9drc7b9dczh7neo
.
在表User
中过滤字段id
为上述用户 ID, 可以看到用户名.
答案:yiyan
8. 接上题, 分析该即时通讯的聊天记录, 团队购买了一个高性能显卡, 该显卡的显存大小是
筛选出与毛雪柳的聊天记录,可以看到一个京东商品链接
去京东打开商品链接
答案:24G
9.分析义言的手机检材, 手机中装有一个具备隐藏功能的 APP, 该 APP 启动设置了密码, 设置的密码长度是多少位
查看所有应用列表, 按照安装时间降序排序, 看到有一个”计算器”APP, 包名为”com.hld.anzenbokusufake”, 第三段为日语的罗马字(安全ボックスfake), 猜测是伪装成计算器的保险箱应用.上网搜索包名
从检材中导出该应用的安装包, 放到模拟器的/data/data目录下,再安装apk装. 运行后发现, 需要设置一个手势密码和一个密保问题.
使用雷电 APP 分析内建的 Frida 分析工具进行动态分析. 先安装 APP, 之后将检材中的两个 APP 的数据目录导入至模拟器.
可以使用雷电 APP 分析自带的文件导入功能. /storage/emulated/0/.privacy_safe
文件夹可以正常导入, 但无法直接写入到/data/data
目录, 因此需要先将/data/data/com.hld.anzenbokusufake
导入到/storage/emulated/0/
目录下, 然后用虚拟机内的文件管理器手动复制.
导入之后, 在 Frida 脚本选项卡中运行字符串相等判断. 启动 APP 之后随便绘制一个手势密码(以从左到右, 从上到下的顺序依次连接为例), 会看到日志中显示将输入的手势密码与真实密码进行了比较.
可以到正确的密码为012467853
九宫格按键从左到右从上到下对应的是012345678,画出对应的手势,成功打开保险箱
除此之外, 还可以用同样的方法获得密保问题的答案:
接着也可以获得密码:
故密码长度为9
10.接上题, 分析上述隐藏功能的 APP, 一共隐藏了多少个应用
法1:通过刚刚的密码,下载apk在模拟器上直接运行查看
法2:找到义言手机检材中的privacy_safe.db,导出后使用DB Browser(SQLcipher)解密查看,密钥是通用的(密钥和上题保持一种)
查看查看HIDE_APP表
答案:5
11.接上题, 分析上述隐藏功能的 APP, 该 APP 一共加密了多少个文件
法1:在模拟器上运行软件查看;
法2:接上题法2,查看该数据库下的FILE_INFO表
5
12.接上题, 分析上述隐藏功能的 APP, 该 APP 加密了一份含有公民隐私信息的文件, 该文件的原始名称是
见上题.答案:公民信息.xlsx
13.分析义言的手机检材, 马伟的手机号码是
法1:直接在模拟器下对文件进行恢复
法2:从FILE_INFO表中可以得知,加密后的公民信息.xlsx文件名为e-283a934b-7821-4af3-9301-2cd6bba15782+c1,在手机检材中找到该文件,导出。在模拟器中模拟加密一下文件,Frida脚本跟踪一下加解密事件
可以看到所有的加解密都是AES/CBC/PKCS5Padding
于是将导出的文件放入cyberchef-AES模式进行解密,然后将解密得到的信息保存为公民信息.xlsx,打开查看即可
答案:18921286666
14.分析义言的手机检材, 手机中存有一个 BitLocker 恢复密钥文件, 文件已被加密, 原始文件的 MD5 值是
和上题一样在模拟器上导出加密的 BitLocker 恢复密钥文件并计算 MD5或者根据file_info表查找到对应的手机检材的文件,导出,用cyberchef解密后保存为txt文件。然后计算MD5
可以得到 BitLocker 恢复密钥为 337469-693121-682748-288772-440682-300223-203698-553124
MD5值:497f308f66173dcd946e9b6a732cd194
义言计算机
1.分析义言的计算机检材, 计算机中保存的有隐写痕迹的文件名
在回收站有个LSB_hide.exe
将其还原后运行
上网搜索可知是BMP图片信息隐藏软件
在 D 盘的全部文件中搜索 .bmp 的扩展名, 发现只有一个文件(PC.001/新加卷(分区11)/照片/a78bd8b5bec5f60380782bd674c7443p.bmp
)的大小看起来像是存在隐写:
导出并使用 LSB_hide.exe
提取:
故.bmp文件即为隐写文件,答案:a78bd8b5bec5f60380782bd674c7443p.bmp
2.分析义言的计算机检材, 保存容器密码的文件大小是多少字节
接上题,提取得到的文件内容为 RR%#CBSf7uYLQ#28bywT
.
在 D 盘中开启文件全显, 按照文件大小降序排列. 可以看到一个 mp3 文件大小正好是 2GB, 应该是 VC 容器.
导出之后挂载, 密码为RR%#CBSf7uYLQ#28bywT
.,再将挂载的磁盘添加为新检材.
故这个文件,即为保存容器密码的文件,答案:20字节
3.分析义言的计算机检材, 一共训练了多少个声音模型
GPT-SoVITS-beta0217是AI语音合成项目
在logs目录中可以看到有4个文件
参考https://zhuanlan.zhihu.com/p/679368007
训练模型会生成缓存文件在logs目录下
答案:4
4.分析义言的计算机检材, 声音模型 voice2, 一共训练了多少条声音素材
PC.001/新加卷(分区11)/GPT-SoVITS-beta0217/output/asr_opt/voice2.list
为 voice2 模型输出音频切片的列表. 其中有 17 条.
答案:17
5.分析义言的计算机检材, 声音模型 voice3, 一共训练了多少轮
模型训练日志在 PC.001/新加卷(分区11)/GPT-SoVITS-beta0217/logs/voice3/train.log
.
其中的 Epoch(代) 就是模型训练的轮次.故答案为 8
6.分析义言的计算机检材, 声音克隆工具推理生成语音界面的监听端口是
PC.001/新加卷(分区11)/GPT-SoVITS-beta0217/config.py
文件包含 SoVITS 的配置, 其中webui_port_infer_tts = 9872
一行代表的是推理生成语音界面的监听端口.
也可以导出整个 SoVITS, 用go-webui.ps1
运行, 然后在主 webui 中的推理选项卡里开启推理的 webui. 访问命令行输出的 log 中包含的 url:
答案:9874
7.分析义言的计算机检材, 电脑中视频文件有几个被换过脸(太难了这题和他的后续)
可以看看顶部的两个连接
伏季雅手机(这部分的手机是第一次全做完,记录一下)
1. 分析伏季雅的手机检材, 手机中安装了一款记账 APP, 该记账 APP 存储记账信息的数据库名称是
在手机安装应用列表中搜索关键词cost
、money
、bill
等关键词:
答案:MoneyLoverS2
2.接上题, 该记账 APP 登录的邮箱账号是
进入/data/data/PackageName
路径下查看数据, 该程序的包名为com.bookmark.money
,然后翻找数据库, 找到信息:
答案:carleenloydlyis40@gmail.com
3.接上题, 该记账 APP 中记录的所有收入金额合计是
在上题找到的数据库中, 有标签 label
表:
同时还有一个表格将标签 label
和类别 category,cat
标号映射起来:
也就是类别与标签相同.
该数据库有表名 transactions
交易表:
根据cat_name可以判断cat_type值为1代表的是收入项目,值为2代表的是支出项目,所以在transactions表中,属于收入的记录的cat_id只能为36、37、38、39、40、41。最后筛选一下
SELECT SUM(amount) FROM transactions WHERE cat_id IN (SELECT cat_id FROM categories WHERE cat_type = 1)
答案:279002
4. 接上题, 分析该记账 APP 中的消费记录, 统计从 2022-3-1(含)到 2023-12-1(含)期间, 用于交通的支出费用合计是
用SQL语句进行筛选
SELECT SUM(amount) FROM transactions WHERE cat_id IN (SELECT cat_id FROM categories WHERE cat_type = 1)
答案:279002
5.分析伏季雅的手机检材, 手机中诈骗 APP 的包名是
诈骗APP是这个威尼斯,在后面的题目可以印证,在网站服务器部分也可以
答案:w2a.W2Ah5.jsgjzfx.org.cn
6.分析伏季雅的手机检材, 手机中诈骗 APP 连接的服务器地址是
找到该APP的安装包
/data/app/~~d5RswGhjSpfSed0RAXePlw==/w2a.W2Ah5.jsgjzfx.org.cn-58F4wvNvru38kmiI8vjw9A==/base.apk,导出用雷电APP智能分析查看敏感信息(云沙箱也可以)
192.168.137.125
7.分析伏季雅的手机检材, 手机中诈骗 APP 的打包 ID 是
__W2A__h5.jsgjzfx.org.cn
8.分析伏季雅的手机检材, 手机中诈骗 APP 的主启动项是
io.dcloud.PandoraEntry
毛雪柳手机
1.分析毛雪柳的手机检材,手机中有一个记账APP,该APP的应用名称是
简单查找应用列表即可
答案:iCost
2.分析毛雪柳的手机检材,记账APP存储记账信息的数据库文件名称是
在应用目录找到default.realm
答案:default.realm
3.分析毛雪柳的手机检材,记账APP中,2月份总收入金额是多少
realm 数据库详解-云社区-华为云 (huaweicloud.com)
使用Realm Studio打开default.realm在ICRecordModel表中筛选出type=1的数据(代表收入),并将timestamp按升序排列
将时间戳进行转换可以知道,第4条和第5条为2月的记录
一共收入9600+2357=11957
4.分析毛雪柳的手机检材,手机中团队内部使用的即时通讯软件中,团队老板的邮箱账号是
查看Applications.plist可知mattermost的共享数据目录在/private/var/mobile/Containers/Shared/AppGroup/BBE0D501-AB0B-422E-9B4D-02E2D86130D4
找到databases目录下的aHR0cDovLzE5Mi4xNjguMTM3Ljk3OjgwNjU=.db,和安卓手机检材中的数据库名相同,导出分析,可以看到一共有4个聊天频道
依次查看这四个频道的消息记录,判断出yiyan频道为和yiyan的聊天频道,Off-Topic为群聊,Town Square也是群聊,发财是和用户gxyt的聊天频道。结合群聊和私人聊天来看,老板应该是user_id为enf863dp1ifi3ffos7bpduynny的用户,即gxyt,邮箱为gxyt@163.com
答案:gxyt@163.com,根据他和老板的对话,也可以看出毛雪柳应该是财务人员
毛雪柳计算机
1.分析毛雪柳的计算机检材, 伏季雅一月份实发工资的金额是
在回收站中有个账本.xlsx和密码.doc
账本.xlsx打开需要密码,但是密码.doc中记录的是错误的密码
在手机相册里面找到了正确的密码为maoxl2024!%*!
用改密码打开账本.xlsx,打开账本.xlsx找到一月份工资表
答案:11200
服务器
全身心欣赏