检材密码:VeZeTANHVkklvVljLnpOYeBwCJFYD5tFpf67f5kNuqP1G5jj
下面的图片不是最终排名,但是跟大佬的差距依旧很大,还是做不到在第一页???

这次比赛比完之后,真正感受到了ai大战,动态积分赛制让人不得不抢分,手搓注定没有ai跑的快,有点不知道竞赛的选拔性到底是选拔人还是选拔ai,使用ai零基础小白也可以变成"取证大师",那么手搓还有什么意义?网安这条路该如何去学习?
计算机取证
1.分析刘洋liuyang_pc.E01检材,提取磁盘镜像SHA1值的前6位?[答案格式:字母小写]
5bc418
挂载镜像直接计算哈希即可


2.分析刘洋liuyang_pc.E01检材,计算机系统Build版本为?[答案格式:19000]
26100
查看系统信息

3.分析刘洋liuyang_pc.E01检材,计算机最后一次正常关机的时间为?UTC+0[答案格式:2025-05-06-09:00:00]
2026-04-20-16:25:35
在系统信息这里看到系统时区是UTC+8
也就是说,找到时间之后得减8

4.分析刘洋liuyang_pc.E01检材,计算机网卡的MAC地址为?[答案格式:00-0B-00-A0-00-00]
00-50-56-30-26-1C
查看网卡信息

5.分析刘洋liuyang_pc.E01检材,分析机主是从那里下载的typora?[答案格式:阿里云]
蓝奏云
在谷歌的下载记录里看到该软件

查看历史记录

6.分析刘洋liuyang_pc.E01检材,刘洋在2026-04-19 13:46:01(UTC +0)曾访问过百度云盘,请给云盘的打开密码?[答案格式:11aa]
48gy
注意UTC +0,所以我们找的时间要加8,而且问云盘密码,大概率都是在浏览器的聊天记录里,搜索一下

7.分析刘洋liuyang_pc.E01检材,请给出刘洋管理pve集群所用的端口号?[答案格式:8000]
8006
这里其实就可以联系到服务器了,秒出8006
然后在计算机的书签记录里也有

8.分析刘洋liuyang_pc.E01检材,请给出刘洋登录理财网站所使用的密码?[答案格式:password]
admin123
在谷歌书签中可以看到理财网站

在谷歌保存的密码可以看到

9.分析刘洋liuyang_pc.E01检材,请给出理财网站的IP地址?[答案格式:127.0.0.1]
192.168.0.70
查看一下本地hosts文件

10.分析刘洋liuyang_pc.E01检材,请给出计算机内Bitlocker加密分区恢复密钥的前6位?[答案格式:6位数字]
560615
有内存镜像,那就可以直接拿内存镜像爆破Bitlocker密码了(efdd会快很多,但是我没有破解版)


得到密码 560615-577522-342881-216865-242561-312356-584837-421597


11.分析刘洋liuyang_pc.E01检材,找出VC加密容器的密钥文件,给出该密钥文件的绝对路径?[答案格式:D:\ABC\123\测试.txt]
D******:</font>BaiduNetdiskDownload</font>无标题.png**
得到密码之后解密分区,在百度网盘的下载文件夹里看到一个png文件

导出放进随波逐流里看看,可能是引写

12.接上题,该VC加密容器的密钥文件的图像高度是多少像素?[答案格式:1345]
1080
查看一下修复后图片的属性

13.分析刘洋liuyang_pc.E01检材,请给出团队重要信息加密保存的软件名?[答案格式:abc123]
1Password
在下载中看到1Password的软件

打开发现需要密码,弱口令也不对

在上面看到了这个程序的压缩包,解压发现需要密码,而且提示了密码

说明这就是个团队重要信息加密保存的软件
14.分析刘洋liuyang_pc.E01检材,该软件的保险库文件名为什么?[答案格式:abc.abc]
liuyang.opvault
在文档处还看到了一个1Password的文件夹,打开发现是软件的保险库

15.分析刘洋liuyang_pc.E01检材,该软件的保险库文件打开密码是什么?[答案格式:124@password]
liuyang@6419
根据压缩包的提示,来爆破一下密码,分析liuyang.opvault编写脚本
import hashlib
import hmac
import base64
import struct
import sys
import time
from multiprocessing import Pool, cpu_count
SALT = base64.b64decode("IeURd51uAYC1eLekU4BwFA==")
ITERATIONS = 100000
OVERVIEW_KEY_B64 = "b3BkYXRhMDFAAAAAAAAAACDcPhy5RqzGti3mEraiflCWM3tkcTXdKYimn0yGOpegf5ECqqovRBauxoeTlU7fCZRy0zmIOuhcHsNnVx8bYs6u+HUJBpgdVJjqAnMLYIHMlbhxNcC+HMJdVmYinkBuM3Gop9N9XxK08K/mENTbWQfYiBLEj91LgxkCRobA3pKh"
MASTER_KEY_B64 = "b3BkYXRhMDEAAQAAAAAAAGfym+bTedJNHPrsp1DtSrH4iu7nA3lMUHzuq1H49jlwIvSES6b55ZGNZHA0xtyJgifKgDgc82rEOJLNzSg4Xl+qaGCk33/tJmEZWS6r7Ef+wSErsxNcUYQxVHkaWQtbofQ8vif+46dYXBGfTiT5a/JEQU2X6bn2Snd5jkOSz62sPQcuHYwJ1lFxLv4WYRWROVKMvVA4b0ByNrjTmfUHrSuPv3JuBNfiLXX69LvVPW8EdznhnZG4BlU1+m3ZCZr2HST9+04JMhFJhj0UmhO07nijbUIvcDxeqJoeznyZ1CC6eocrQlvyv2EIAOMxcMmSuCGY2CMw+MPCdlklnLEdaULfhgEEaNHfWnpFFnVql5P5B1xZOHP80SW9qzmRmzoxQ/l7tOP7XEGld2vwHQlS+Smrzp2XVDRAi8yDVMH4rmJS"
overview_key_raw = base64.b64decode(OVERVIEW_KEY_B64)
overview_expected_hmac = overview_key_raw[-32:]
overview_hmac_input = overview_key_raw[:-32]
master_key_raw = base64.b64decode(MASTER_KEY_B64)
master_expected_hmac = master_key_raw[-32:]
master_hmac_input = master_key_raw[:-32]
def try_password(password):
derived = hashlib.pbkdf2_hmac('sha512', password.encode('utf-8'), SALT, ITERATIONS, dklen=64)
mac_key = derived[32:64]
computed = hmac.new(mac_key, overview_hmac_input, hashlib.sha256).digest()
if hmac.compare_digest(computed, overview_expected_hmac):
return password
computed2 = hmac.new(mac_key, master_hmac_input, hashlib.sha256).digest()
if hmac.compare_digest(computed2, master_expected_hmac):
return password
return None
def try_batch(start):
for i in range(start, min(start + 50, 10000)):
password = f"liuyang@{i:04d}"
result = try_password(password)
if result:
return result
return None
if __name__ == '__main__':
print(f"[*] OPVault Brute Force - liuyang@0000 to liuyang@9999")
print(f"[*] PBKDF2-SHA512, {ITERATIONS} iterations")
print(f"[*] Using {cpu_count()} CPU cores")
print(f"[*] Starting...")
start_time = time.time()
batches = list(range(0, 10000, 50))
with Pool(processes=cpu_count()) as pool:
for idx, result in enumerate(pool.imap_unordered(try_batch, batches)):
if result:
elapsed = time.time() - start_time
print(f"\n[+] PASSWORD FOUND: {result}")
print(f"[+] Time elapsed: {elapsed:.1f} seconds")
pool.terminate()
sys.exit(0)
if idx % 20 == 0:
elapsed = time.time() - start_time
progress = (idx * 50) / 10000 * 100
print(f"[*] Progress: {progress:.1f}% ({idx*50}/10000) - {elapsed:.1f}s", end='\r')
elapsed = time.time() - start_time
print(f"\n[-] Password not found in range 0000-9999 ({elapsed:.1f}s)")
或者使用john ** **python 1password2john.py liuyang.opvault > opvault.hash
john.exe --format=cloudkeychain --mask='liuyang@?d?d?d?d' opvault.hash

16.分析刘洋liuyang_pc.E01检材,请给出用户刘洋的开机密码?[答案格式:p@ssw0rd123]
6yang@2o26
解开软件可以看到

17.分析刘洋liuyang_pc.E01检材,请给出pve服务器的管理密码?[答案格式:p@ssw0rd123]
pgscup2o@6
编辑一下pve可以看到

18.分析刘洋liuyang_pc.E01检材,找出计算机内的脚本加密工具,给出该加密工具的SHA1的前6位?[答案格式:字母小写]
7860dc
在1Password中看到了VC的密码
在百度网盘的下载文件夹找到加密容器

用VC挂载一下,把密码8687f7d845649e03d02d4ff1f36ec952,pim2026全都挂上

发现并没有加密脚本,那就用密钥文件(修复后的)和pim2026试一下,找到加密脚本,这里其实就有服务器上的一些文件


计算哈希

19.分析刘洋liuyang_pc.E01检材,该脚本加密工具在进行脚本加密时,最后一层是进行什么操作?[答案格式:字符替换]
十六进制转换
打开脚本

20.分析刘洋liuyang_pc.E01检材,请解密该脚本加密工具加密的文件database.php.obf,给出该文件内的数据库密码?[答案格式:p@ssw0rd123]
pgscup@o26
服务器的脚本依旧适用