2025平航杯 2025 团队赛

2025平航杯WP

围绕 2025平航杯 的公开复盘与解题记录。

上传者:林七夜 发布日期:2026-05-17 133 次阅读

2025平航杯

一、计算机取证

1.分析起早王的计算机检材,起早王的计算机插入过usb序列号是什么(格式:1)

解题思路:基本信息-USB设备信息-存在USB Device-查看其序列号。

答案:F25550031111202 image-20260401104708997.png

2.分析起早王的计算机检材,起早王的便签里有几条待干(格式:1)

解题思路:查看微软便签

答案:5 image-20260401105017988.png

3.分析起早王的计算机检材,起早王的计算机默认浏览器是什么(格式:Google)

解题思路:基本信息-默认浏览器

答案:Microsoft Edge image-20260401105651836.png

4.分析起早王的计算机检材,起早王在浏览器里看过什么小说(格式:十日终焉)

解题思路:微软浏览器-搜索历史

答案:道诡异仙 image-20260401105902800.png

5.分析起早王的计算机检材,起早王计算机最后一次正常关机时间(格式:2020/1/1 01:01:01)

解题思路:基本信息-开关机时间-筛选最后正常关机的即可

答案:2025/04/10 11:15:29 image-20260401110603568.png

6.分析起早王的计算机检材,起早王开始写日记的时间(格式:2020/1/1)

答案:2025/3/3

解题思路:仿真跑起来之后,桌面上存在sandbox,点进去可以看到diary的路径。 image-20260401111903229.png

然后把这个笔记软件打开。 image-20260401111940522.png

搜索一下日记,就可以看到第一次写日记的时间573a) image-20260401112056714.png

7.分析起早王的计算机检材,SillyTavern中账户起早王的创建时间是什么时候(格式:2020/1/1 01:01:01)

答案:2025/3/10 18:44:56

解题思路:仿真起来后直接搜索SillyTavern,可以看到wife的文件夹,这是一个服务,点击bat直接启动即可

启动之后访问localhost的8000端口,就出现了SillyTavern。

image-20260401120119857.png

image-20260401120441011.png

之后,在服务中查看用户。找到创建时间。 image-20260401120515622.png

8.分析起早王的计算机检材,SillyTavern中起早王用户下的聊天ai里有几个角色(格式:1)

答案:4

解题思路:直接查看 image-20260401120910419.png

9.分析起早王的计算机检材,SillyTavern中起早王与ai女友聊天所调用的语言模型(带文件后缀)(格式:xxxxx-xxxxxxx.xxxx)

答案:Tifa-DeepsexV2-7b-Cot-0222-Q8.gguf

解题思路:这个路径下可以看到用户和AI的聊天记录以及调用的API image-20260401122855475.png

去C盘下,有一个model文件-找到对应的大模型文件 image-20260401122943967.png

10.分析起早王的计算机检材,电脑中ai换脸界面的监听端口(格式:80)

答案:7860

解题思路:E盘中找到实时换脸exe,运行可以看到端口image-20260401123834943.png

11.分析起早王的计算机检材,电脑中图片文件有几个被换过脸(格式:1)

答案:3

解题思路:同上题,查看output文件夹即可,共三张。 image-20260401123926486.png

12.分析起早王的计算机检材,最早被换脸的图片所使用的换脸模型是什么(带文件后缀)(格式:xxxxxxxxxxx.xxxx)

答案:inswapper_128_fp16.onnx

解题思路:启动服务就可以看见模型,后缀直接搜就行 image-20260401124157023.png

image-20260401124336954.png

13.分析起早王的计算机检材,neo4j中数据存放的数据库的名称是什么(格式:abd.ef)

答案:graph.db

解题思路:同样E盘,找到data(数据),databases(数据库)文件就可以了 image-20260401124442821.png

14.分析起早王的计算机检材,neo4j数据库中总共存放了多少个节点(格式:1)

答案:17088

解题思路:cmd启动一下neo4j服务,访问本地7474端口,可以找到labels

neo4j.bat console

image-20260401142432023.png

image-20260401142414391.png

15.分析起早王的计算机检材,neo4j数据库内白杰的手机号码是什么(格式:12345678901)

答案:13215346813

解题思路:查看user,默认的最大个数是25,我们把它改为17088然后将所有的信息下载下来,查找“白杰”找到手机号 image-20260401143434736.png

image-20260401143350853.png

16.分析起早王的计算机检材,分析neo4j数据库内数据,统计在2025年4月7日至13日期间使用非授权设备登录且登录地点超出其注册时登记的两个以上城市的用户数量(格式:1)

答案:44

解题思路:把结构丢给AI,写出payload

MATCH (u:User)-[:HAS_LOGIN]->(l:Login)-[:FROM_IP]->(ip:IP) MATCH (l)-[:USING_DEVICE]->(d:Device) WHERE   l.time >= datetime('2025-04-07')  AND l.time < datetime('2025-04-14')  AND ip.city <> u.reg_city  AND NOT (u)-[:TRUSTS]->(d) WITH   u,  collect(DISTINCT ip.city) AS abnormal_cities,  collect(DISTINCT d.device_id) AS unauthorized_devices,  count(l) AS abnormal_login_count WHERE size(abnormal_cities) >= 2  // 异常城市 ≥2 个(符合你需求) RETURN   u.user_id AS user_id,  u.real_name AS real_name,  abnormal_cities AS 异常登录城市列表,  unauthorized_devices AS 非授权设备列表,  abnormal_login_count AS 异常登录次数 ORDER BY abnormal_login_count DESC
```![image-20260401144436148.png](/editor-assets/2026/05/0FRCFRB7j0DPXmvgfpeklQ6yTnM9BkK4.png?v=cecc6af6c3d3f81be60af36cfb879256)

17.分析起早王的计算机检材,起早王的虚拟货币钱包的助记词的第8个是什么(格式:abandon)

答案:draft

解题思路:日记里可以看到他把助记词放到输入法里面了,但火眼给的没有单词 image-20260401145408429.png

跳转到源文件 image-20260401145538550.png

在lex后缀的文件查看十六进制得到助记词,第八个是draft

18.分析起早王的计算机检材,起早王的虚拟货币钱包是什么(格式:0x11111111)

答案:0xd8786a1345cA969C792d9328f8594981066482e9

解题思路:上题的所有助记词

flash treat wide divide type plug garlic draft infant broom desert useful

在edge浏览器中有mask,直接用助记词重置密码,登进之后复制就行了 image-20260401150142505.png

image-20260401150318185.png

19.分析起早王的计算机检材,起早王请高手为倩倩发行了虚拟货币,请问倩倩币的最大供应量是多少(格式:100qianqian)

答案:1000000qianqian

解题思路:在mask里面可以看见倩倩的地址,跳转到Etherscan访问该地址,查看代币得到答案。 image-20260401151332441.png

20.分析起早王的计算机检材,起早王总共购买过多少倩倩币(格式:100qianqian)

答案:521qianqian

解题思路:同样搜索起早王的地址,可以发现一条代币转移 image-20260401151655541.png

21.分析起早王的计算机检材,起早王购买倩倩币的交易时间是(单位:UTC)(格式:2020/1/1 01:01:01)

答案:2025/3/24 02:08:36

解题思路:同上,直接查看时间 image-20260401151829227.png

二、手机取证

1.该检材的备份提取时间(UTC)(格式:2020/1/1 01:01:01)

答案:2025/4/15 10:11:18

解题思路:基本信息查看备份时间减去八小时(UTC) image-20260401155255552.png

2.分析倩倩的手机检材,手机内Puzzle_Game拼图程序拼图APK中的Flag1是什么(格式:xxxxxxxxx)

答案:Key_1n_the_P1c

解题思路:jadx反编译APK,这个APK整了很多fake线索(包括fakeflag,fakebyte)

key 的生成
 `MAGIC_NUMBERS` 每一字节都异或 `6`,得到 16 字节 AES key:
weZl_d0wn_sbwyz_
这个逻辑就在 `generateWhiteBoxKey()` 里。
密文其实不是那四段拼接出来的“hex”**
 因为 `CIPHER_PART1` 开头是字符 `P`,不是合法十六进制字符,`hexStringToByteArray()` 会直接抛异常,然后走 `catch` 返回这真实备用密文:
50 cc 04 31 35 06 80 c3 0a 5e c5 19 52 73 6d 0c
这点就在 `hexStringToByteArray()` 里写死了。
然后用这把 key 做 AES 单块解密,再按末尾 `0x02 0x02` 去掉填充,明文就是:
Key_1n_the_P1c
​
from Crypto.Cipher import AES
​
MAGIC_NUMBERS = [113, 99, 92, 106, 89, 98, 54, 113, 104, 89, 117, 100, 113, 127, 124, 89]
​
CIPHER_PART1 = [80, 99, 99, 48, 52, 51, 49]
CIPHER_PART2 = [51, 53, 48, 54, 56, 48, 99, 51]
CIPHER_PART3 = [48, 97, 53, 101, 99, 53, 49, 57]
CIPHER_PART4 = [53, 50, 55, 51, 54, 100, 48, 99]
​
​
def generate_key():
    # 等价于 Java: keyBytes[i] = (byte) (MAGIC_NUMBERS[i] ^ 6)
    return bytes([x ^ 6 for x in MAGIC_NUMBERS])
​
​
def assemble_hex_string():
    parts = CIPHER_PART1 + CIPHER_PART2 + CIPHER_PART3 + CIPHER_PART4
    return ''.join(chr(x) for x in parts)
​
​
def hex_string_to_byte_array(s: str) -> bytes:
    # 等价于 Java 的 hexStringToByteArray
    if len(s) % 2 != 0:
        s = '0' + s
​
    data = bytearray()
    try:
        for i in range(0, len(s), 2):
            high = int(s[i], 16)
            low = int(s[i + 1], 16)
            data.append((high << 4) | low)
        return bytes(data)
    except Exception:
        # Java catch 后返回的备用密文
        return bytes([80, 204, 4, 49, 53, 6, 128, 195, 10, 94, 197, 25, 82, 115, 109, 12])
​
​
def pkcs7_unpad(data: bytes) -> bytes:
    if not data:
        return data
    pad = data[-1]
    if 1 <= pad <= 16 and data.endswith(bytes([pad]) * pad):
        return data[:-pad]
    return data
​
​
def main():
    key = generate_key()
    hex_str = assemble_hex_string()
    cipher_bytes = hex_string_to_byte_array(hex_str)
​
    print("[+] key bytes   :", key)
    print("[+] key string  :", key.decode('utf-8', errors='replace'))
    print("[+] fake hex str:", hex_str)
    print("[+] cipher hex  :", cipher_bytes.hex())
​
    cipher = AES.new(key, AES.MODE_ECB)
    plaintext = cipher.decrypt(cipher_bytes)
    plaintext_unpadded = pkcs7_unpad(plaintext)
​
    print("[+] plaintext(raw) :", plaintext)
    print("[+] plaintext(hex) :", plaintext.hex())
    print("[+] plaintext      :", plaintext_unpadded.decode('utf-8', errors='replace'))
​
​
if __name__ == "__main__":
    main()

image-20260401161730479.png

3.分析手机内Puzzle_Game拼图程序,请问最终拼成功的图片是哪所大学(格式:浙江大学)

答案:浙江中医药大学

解题思路:图寻题都来了,可以把apk解压之后搜索下后缀为图片格式的文件,下载后问AI image-20260401162305919.png

image-20260401162208130.png

4.分析倩倩的手机检材,木马app是怎么被安装的(网址)(格式:http://127.0.0.1:1234/)

答案:http://192.168.180.107:6262/

解题思路:这个木马应该是apk的第一个,在文件里面也能看到他在浏览器下载了这个app虽然名字不一样,但是包名是一样的,所以肯定是在浏览器下载的。 image-20260401163715635.png

image-20260401163627771.png

5.分析倩倩的手机检材,检材内的木马app的hash是什么(格式:大写md5)

答案:23A1527D704210B07B50161CFE79D2E8

解题思路:雷电查看 image-20260401164006009.png

6.分析倩倩的手机检材,检材内的木马app的应用名称是什么(格式:Baidu)

答案:Google Service Framework

解题思路:同上 image-20260401164129935.png

7.分析倩倩的手机检材,检材内的木马app的使用什么加固(格式:腾讯乐固)

答案:梆梆加固

解题思路:查看雷电源码分析 image-20260401164215882.png

8.分析倩倩的手机检材,检材内的木马软件所关联到的ip和端口是什么(格式:127.0.0.1:1111)

答案:92.67.33.56:8000

解题思路:这个壳我的雷电可能太卡了,脱不了,放到https://56.al/脱得壳,可以看到配置ip和端口 image-20260401170812995.png

9.该木马app控制手机摄像头拍了几张照片(格式:1)

答案:3

解题思路:分区一tmp下存在一个log文本文档,记录了三张照片 image-20260401181538990.png

10.木马APP被使用的摄像头为(格式:Camera)

答案:Front Camera

解题思路:上图 image-20260401182203380.png

11.分析倩倩的手机检材,木马APK通过调用什么api实现自身持久化(格式:JobStore)

答案:JobScheduler

解题思路:jadx反编译脱壳后的dex文件,找到jobScheduler。 image-20260401182832779.png

12.分析倩倩的手机检材,根据倩倩的身份证号请问倩倩来自哪里(格式:北京市西城区)

答案:上海市徐汇区

解题思路:在分区一下面root文件夹存在这个jpg,按身份证号前六位百度一下地区。 image-20260401183915367.png

13.此手机检材的IMEI号是多少(格式:1234567890)

答案:865372026366143

解题思路:全局搜索可以找到两个IMEI,挨个试 image-20260401191237644.png

image-20260401191223837.png

image-20260401191252856.png

三、EXE逆向

1.分析GIFT.exe,该程序的md5是什么(格式:大写md5)

答案:5A20B10792126FFA324B91E506F67223

解题思路:右键计算哈希 image-20260401165449134.png

2.GIFT.exe的使用的编程语言是什么(格式:C)

答案:Python

解题思路:放到DIE查看image-20260401172328339.png

3.解开得到的LOVE2.exe的编译时间(格式:2025/1/1 01:01:01)

答案:2025-04-08 09:59:40

解题思路:逆向GIFT.exe可以找到生日 硬编码在里面的****20010811,建个快照,运行下病毒软件,可以看到这个LOVE2.exe,属性看修改时间。 image-20260401193500934.png

4.分析GIFT.exe,该病毒所关联到的ip和端口(格式:127.0.0.1:1111)

答案:46.95.185.222:6234

解题思路:ip可以在ida字符串看到,端口可以用工具看到 image-20260401205429848.png

image-20260401210736556.png

5.分析GIFT.exe,该病毒修改的壁纸md5(格式:大写md5)

答案:733FC4483C0E7DB1C034BE5246DF5EC0

解题思路:用工具得到该壁纸导出计算md5值 image-20260401211334985.png

image-20260401211450393.png

6.分析GIFT.exe,为对哪些后缀的文件进行加密(A.docB.xlsxC.jpgD.pngE.ppt)

答案:.doc .docx .xls .xlsx .ppt .pptx .pdf

解题思路:拖进去挨个试

7.分析GIFT.exe,病毒加密后的文件类型是什么(格式:DOCX文档)

答案:LOVE Encrypted File

解题思路:在虚拟机运行病毒之后查看属性 image-20260402090147309.png

8.分析GIFT.exe,壁纸似乎被隐形水印加密过了?请找到其中的Flag3(格式:flag3 {xxxxxxxx})

答案:flag3{20241224_Our_First_Meet}

解题思路:使用工具进行盲水印解密(GitHub - ww23/BlindWatermark: Java 盲水印 · GitHubimage-20260402085805543.png

9.分析GIFT.exe,病毒加密文件所使用的方法是什么(格式:Base64)

答案:RSA

解题思路:可以了解下勒索病毒的原理,就是对文件进行了加密,它这个旁边的love.jpeg存放了私钥。(记事本或010打开就能找到) image-20260402090419597.png

10.分析GIFT.exe,请解密test.love得到flag4(格式:flag4 {xxxxxxxx})

答案:flag4{104864DF-C420-04BB5F51F267}

解题思路:因为上题发现love.jpeg中存在私钥,我们可以用binwalk以及dd命令进行提取,得到key文件,之后再跑脚本解密。 image-20260402100142664.png

EXP:

from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_v1_5
​
with open("pem_clean.key", "rb") as kf:
    key = RSA.import_key(kf.read())
​
block_size = key.size_in_bits() // 8
cipher = PKCS1_v1_5.new(key)
​
with open("test.love", "rb") as f:
    data = f.read()
​
out = bytearray()
​
for i in range(0, len(data), block_size):
    chunk = data[i:i + block_size]
    if len(chunk) != block_size:
        continue
    dec = cipher.decrypt(chunk, None)
    if dec is not None:
        out.extend(dec)
​
with open("decrypted_output.bin", "wb") as f:
    f.write(out)

然后,我们的output文件设置的后缀为bin,然后放到010查看,开头为504B,其实它是一个ppt文件,改下后缀,打开查看。 image-20260402100315499.png

四、服务器取证

1.该电脑最早的开机时间是什么(格式:2025/1/1 01:01:01)

答案:2022/2/23 12:23:49

解题思路:查看基本信息-开关机时间 image-20260401172708732.png

2.服务器操作系统内核版本(格式:1.1.1-123)

答案:3.10.0-1160.119.1.el7.x86_64

解题思路:基本信息-系统信息-查看内核版本 image-20260401172839495.png

3.除系统用户外,总共有多少个用户(格式:1)

答案:3

解题思路:查看用户列表 image-20260401173012558.png

4.分析起早王的服务器检材,Trojan服务器混淆流量所使用的域名是什么(格式:xxx.xxx)

答案:wyzshop1.com

解题思路:查看历史命令可以看到配置文件地址,root下的,查看得到域名 image-20260401175641147.png

5.分析起早王的服务器检材,Trojan服务运行的模式为:

答案:nat

解题思路:example里的nat和上图几乎一样

6.关于 Trojan服务器配置文件中配置的remote_addr 和 remote_port 的作用,正确的是:

答案:代理流量转发到外部互联网服务器

解题思路:上面说到过混淆流量,可以选A

六、流量分析

1.请问侦查人员是用哪个接口进行抓到蓝牙数据包的(格式:DVI1-2.1)

答案:COM3-3.6

解题思路:打开BLE流量包随便一条流量就可以看到接口 image-20260402093027902.png

2.起早王有一个用于伪装成倩倩耳机的蓝牙设备,该设备的原始设备名称为什么(格式:XXX_xxx 具体大小写按照原始内容)

答案:Flipper_123all

解题思路:往下面翻可以看到device name. image-20260402093129186.png

3.起早王有一个用于伪装成倩倩耳机的蓝牙设备,该设备修改成耳机前后的大写MAC地址分别为多少(格式:32位小写md5(原MAC地址_修改后的MAC地址) ,例如md5(11:22:33:44:55:66_77:88:99:AA:BB:CC)=a29ca3983de0bdd739c97d1ce072a392 )

答案:97d79a5f219e6231f7456d307c8cac68

解题思路:按上题那条流量可以看到一个MAC地址:80:e1:26:33:32:31

然后语法过滤一下:btle.advertising_address ==80:e1:26:33:32:31

可以看到有一段是断了的。我们再去找中间的,可以找到新的MAC地址:80:e1:26:35:32:31 image-20260402094051855.png

image-20260402093726572.png

4.流量包中首次捕获到该伪装设备修改自身名称的UTC+0时间为?(格式:2024/03/07 01:02:03.123)

答案:2025/04/09 02:31:26.710

解题思路;过滤frame contains "QQ_WF_SP8OON",查看第一条流量时间 image-20260402095457465.png

5.起早王中途还不断尝试使用自己的手机向倩倩电脑进行广播发包,请你找出起早王手机蓝牙的制造商数据(格式:0x0102030405060708)

答案:0x0701434839313430

解题思路:找包含制造商的流量。 image-20260402100659239.png

6.起早王的真名是什么(格式:Cai_Xu_Kun 每个首字母均需大写 )

答案:Wang_Qi_Zhao

解题思路:net-a跑

7.起早王对倩倩的电脑执行了几条cmd里的命令(格式:1 )

答案:7

解题思路:提取

cmd
​
whoami
​
net user
​
net user qianqianwoaini$ abcdefghijkImn /add
​
net localgroup administrators qianqianwoaini$ /add
​
net user qianqianwoaini$ /delCGIKLLMMLLJJHHHFECB
​
net localgroup administrators qianqianwoaini$ /add
​
rundll32 url.dll,FileProtocolHandler https"//fakeupdate.net/win10ue/bsod.html

8.倩倩电脑中影子账户的账户名和密码为什么(格式:32位小写md5(账号名称_密码) ,例如md5(zhangsan_123456)=9dcaac0e4787b213fed42e5d78affc75 )

**答案:**53af9cd5e53e237020bea0932a1cbdaa

**解题思路: **qianqianwoaini$, abcdefghijkImn.

9.起早王对倩倩的电脑执行的最后一条命令是什么(格式:32位小写md5(完整命令),例如md5(echo "qianqianwoaini" > woshiqizaowang.txt)=1bdb83cfbdf29d8c2177cc7a6e75bae2 )

答案:0566c1d6dd49db699d422db31fd1be8f

**解题思路:命令-rundll32 url.dll,FileProtocolHandler **https://fakeupdate.net/win10ue/bsod.html 注:没有AI部分