挂载VC的密码:MjAyNOm+meS/oeadrw==
手机取证
1.
Android 设备在通过 ADB 连接时,通常会要求用户授权连接,会要求用户确认设备授权,并将该设备的公钥保存在 adb_keys文件中
寻找到data/misc/adb/adb_keys下面有中有两个,故连接过两个设备。
2.
在便签里面找到了下周五考试的内容,用开始的时间进行推测,刚好是8月23日考试。
我看了其他的wp,它说这里可以使用时间戳
3.
用火眼看,在设备信息里面,
蓝牙MAC地址:
48:87:59:76:21:0f
蓝牙设备通过独特的地址和名称进行交互,名称通常在代码中定义,如EEG_20230902。MAC地址是48bit的固定地址,每个芯片出厂时已设定。UUID用于标识不同的服务和特征,基础UUID由SIG定义或供应商自定,主服务UUID和特征UUID则用于区分不同任务。
4.
看了大神的wp,说要使用火眼的恢复
但是,观察到了特征不符里面的压缩文件里面有6个
5.
寻找另一个手机号,一开始我是观察WiFi连接记录里面的,直接错了。
看到wp说,先要寻找密码然后打开apk进行分析,才能找到。
在浏览器里面找到了filecompress的记录,
那么使用雷电分析FileCompress,这里需要运用jadx反编译
搜寻password,然后去弄mm.txt
6.
没有什么头绪,在聊天记录里面看到了。猜测为密码结果真对了!
7。
分析手机检材,接上题,请确认该成员的对应的最高代理人是谁(不考虑总部)?[标准格式:张三]
分析手机检材,请确认在该组织中,最高层级的层次是多少?(从总部开始算第一级)[标准格式:10]
分析手机检材,请问第二层级(从总部开始算第一级)人员最多的人是多少人?[标准格式:100]
分析手机检材,机主共开启了几款APP应用分身?[标准格式:3]
这几个题目都没有什么思路,在比赛的时候,
之后wp里面说,要使用TrueCrypt进行挂载,但是用VC挂载不行,
TrueCrypt 允许你创建一个加密的文件“保险库”,在那里你可以存储任何类型的敏感信息(文本、音频、视频、图像、PDF 等)。
只要你有正确的口令,TrueCrypt 就可以解密保险库,并在任何运行 TrueCrypt 的电脑上提供读写权限。这是一项有用的技术,它基本上提供了一个虚拟的、可移动的、完全加密的驱动器(除了文件以外),你可以在其中安全地存储你的数据。
12.
用龙信看,
即使通讯软件:微信和默往
13.
不是微信的话,就是默往了。
14.删除的聊天记录
这个是利用龙信的软件来做的,发现只删除了一条。
15.
这里要找的是app的应用包,一开始我们在微信里面看到了一个滴滴滴.apk猜测是恶意apk
在apk分析里面找到了,
16、查看预留的座机号码,用雷电分析一下邮箱看看
找到了这个
这个解密的密钥
w0和x0一起看,大概是先是base64解密在使用aes解密,就得到了。
答案: 40085222666
17 gmail的邮箱
跟上面的问题在差不多的位置,
18.恶意偷取数据的邮箱
找到这个并同样解密即可
19.邮箱密码:
同样解密即可
20.恶意函数接受的地址:为a
总结一下:
主要利用火眼证据分析和雷电app智能分析,对两个软件要比较熟悉,做题时要细心观察,
有些题目的连贯性很强,做出一点就能做出很多了,关于邮箱、密码等的回答,通常要密码进行加密,要注意一些奇怪的字符和代码的阅读,更要注意不要踩坑。
计算机取证
1.
用火眼仿真,不要重置密码,有些隐藏的信息就看不到了, 先打开pycharm看看,但是打开它花了好几分钟,好慢啊!!!
直接就看到了key=65B2564BG89F16G9
2.
根据刚刚的加密脚本写一个解密脚本。
因为知道了key和iv就很简单了。
数据量比较大,所以我们要等一会,如果用记事本打不开就导入数据库(使用Navicat)进行操作
from Crypto.Cipher import AES
from Crypto.Util.Padding import unpaddef aes_decrypt(encrypted_data, key, iv):cipher = AES.new(key, AES.MODE_CBC, iv)decrypted_data = cipher.decrypt(encrypted_data)unpadded_data = unpad(decrypted_data, AES.block_size)return unpadded_data.decode()key = b'65B2564BG89F16G9'
iv = b'83E6CBEF547944CF'encrypted_file = "E:\Python\encrypted\encrypted_data.txt"
decrypted_file = "E:\Python\encrypted\decrypted_data.txt"with open(encrypted_file, "r") as f_in, open(decrypted_file, "w") as f_out:for line in f_in:parts = line.strip().split(',')index = parts[0]f_out.write(index + ",")decrypted_parts = []for encrypted_part_hex in parts[1:]:encrypted_part = bytes.fromhex(encrypted_part_hex)decrypted_part = aes_decrypt(encrypted_part, key, iv)decrypted_parts.append(decrypted_part)f_out.write(",".join(decrypted_parts) + "\n")print("解密完成。")
根据身份证来查找手机号码,15075547510
3.查重操作,直接弄一个脚本吧!
脚本编写的思路很简单:利用集合的唯一性,去重的同时并计数,注意去除换行符、空格和空行,身份证号码一般是唯一的。
这个脚本的话,要求为全部为utf-8编码,如果出现错误,另存为时改一下编码方式就可以了。
# 导入必要的库
import os file_path = 'E:/Python/encrypted/哈哈.txt' if not os.path.exists(file_path): print(f"文件 {file_path} 不存在!")
else: unique_ids = set() all_ids = [] # 读取 with open(file_path, 'r', encoding='utf-8') as file: for line in file: id_number = line.strip() # 去除行尾的换行符和空格 all_ids.append(id_number) # 将身份证号码添加到集合中,集合会自动去重 unique_ids.add(id_number) # 计算 duplicate_count = len(all_ids) - len(unique_ids) print(f"重复的身份证号码数量是: {duplicate_count}")
4.身份证的17为单数位男性,双数为女性,
上脚本就行了。
运行结果为5001185
def count_male_id_cards(file_path):male_count = 0with open(file_path, 'r') as file:for line in file:id_card = line.strip()if len(id_card) == 18: # 确保是18位身份证号码if int(id_card[16]) % 2 == 1: # 第17位是奇数male_count += 1return male_count# 使用示例
file_path = 'encrypted_data.txt'
male_count = count_male_id_cards(file_path)
print(f'男性的身份证数据条数: {male_count}')
5.
“VPN”的版本号
6.订阅的版本号,
7.压缩包的密码:
该压缩文件在回收站里面,
直接在密码管理器里面含有,
8.压缩包的MD5值
我一开始用
但是不是这个,查询了一下资料可以知道了,
一、时间戳的影响
- 文件时间戳:zip命令在打包文件时,可能会将文件的时间戳(包括修改时间、访问时间和创建时间等)包含在压缩包中。即使文件内容没有改变,时间戳的差异也可能导致生成的压缩包的MD5值不同。
- 压缩包时间戳:此外,压缩包本身也有时间戳信息,如压缩包的创建时间和最后修改时间。这些时间戳信息在重新打包时可能会发生变化,从而影响MD5值。
二、元数据和属性的差异
- 文件权限和属性:zip命令可能会包含文件的元数据和属性,如文件权限、访问控制列表等。这些元数据和属性的差异也可能导致生成的压缩包的MD5值不同。
- 额外字段:zip文件格式允许在压缩包中包含额外的字段(extra fields),这些字段可能包含有关文件的各种信息,如扩展时间戳字段(Extended Timestamp Extra Field)等。如果在打包时包含了这些额外字段,而在重新打包时未包含或包含的方式不同,也可能导致MD5值的变化。
三、压缩算法和选项的差异
- 压缩算法:zip命令使用的压缩算法可能会引入一些额外的元数据或元信息,这些信息可能与文件内容相关但不直接影响文件的实际内容。因此,即使文件内容相同,压缩算法的差异(如压缩级别、压缩方法等)也可能导致生成的压缩包的MD5值不同。
- 压缩选项:使用zip命令时,可以指定不同的压缩选项和参数。这些选项和参数的不同组合可能会导致生成的压缩包的MD5值不同。例如,使用-X或--no-extra参数可以避免将extra fields打包进去,从而避免某些非确定性数据(如访问时间戳、用户名等)对MD5值的影响。
四、解压和重新打包过程中的变化
- 解压过程中的变化:在解压过程中,如果解压工具对文件进行了某些处理(如修改文件权限、时间戳等),则重新打包后的压缩包MD5值可能会发生变化。
- 重新打包过程中的变化:在重新打包时,如果打包工具、打包选项或文件顺序等发生了变化,也可能导致生成的压缩包MD5值不同。
由于时间戳、元数据和属性、压缩算法和选项以及解压和重新打包过程中的变化等多种因素导致的。为了获得一致的MD5值,可以在打包前对文件进行预处理(如设置统一的时间戳、权限和属性等),并使用相同的压缩工具和选项进行打包。