挑战一览

数字取证难度 5★★★★★

重建 APT 攻击的全部阶段

四个日志 `/challenge/edr_process.log`、`proxy_http.log`、`dns_queries.log` 和 `dlp_transfer.log` 中,APT 攻击混杂在大量正常记录里。…

数字取证难度 5★★★★★

破解 BitLocker 加密驱动器

用安全的元数据 fixture 学习 BitLocker 恢复密钥的验证。bitlocker.img 不是真实卷。请将候选密钥的 SHA-256 与记录的摘要比对以确定恢复密钥,再用该密钥解密受保护的载荷。

数字取证难度 5★★★★★

提取 Bitcoin 交易中隐藏的消息

受害者把赎金支付到了比特币地址 `bc1qr4nsmw4r3pay7hzfx0d9cq3vkt8e6m5ljgs2ua`。`/home/ctfuser/evidence/transactions.json`…

数字取证难度 5★★★★★

从 IoT 设备固件提取秘密密钥

分析网络摄像头 KNC-CAM-2000 的更新文件 `/home/ctfuser/evidence/firmware.bin`(不要连接真实设备)。厂商把 rootfs 加密后分发,解密由引导程序在启动时完成。头部与分区表的格式见…

编程难度 5★★★★★

高级 Python:还原并发事件 DAG 因果关系

`events.jsonl` 混合了多个服务和 trace 的乱序事件。从标记的 auth.failed 事件出发,沿 parent 引用的因果 DAG,按逻辑时钟连接可达的 worker.decrypt 片段。

网络安全难度 5★★★★★

网络分析:重组 IPv4 重叠分片

`fragments.pcap` 中 IPv4 ID `0xbeef` 的 UDP 数据报有重叠分片,后到的分片会覆盖部分先到数据。请按到达顺序优先后到数据进行重组,再从 UDP 有效载荷中的 Base64 数据恢复旗标。

数字取证难度 5★★★★★

从虚拟机监控器内存提取 VM 信息

分析 KVM 主机的内存转储 `/home/ctfuser/evidence/kvm_host.dump`。来宾被配置成类似 AMD SEV 的方式,内存按每个 VM 用各自的密钥加密,但这台主机运行的是 KVM…

编程难度 5★★★★★

编程:APT 模拟

/challenge/events.jsonl 是把多个主机收集到的安全日志合并而成的文件,每次容器启动都会用随机数据重新生成(行顺序是乱的)。ts 是 ISO 8601…

编程难度 5★★★★★

编程:AI 漏洞检测

/challenge/corpus/*.py 是每次容器启动都会用随机数据重新生成的代码审计用 Python 源码(请不要执行)。每个函数都带有 @audit_id(6 位十六进制)。如果函数以 shell=True 调用…

编程难度 5★★★★★

编程:AWS 渗透测试

/challenge/iam.json 包含用户、组和策略,/challenge/s3_objects.json 是 S3 对象列表(bucket、key、etag),两者都会在每次容器启动时用随机数据重新生成。请按 README.md…

编程难度 5★★★★★

编程:IoT 固件解析

请分析每次启动时随机生成的网络摄像头固件镜像 firmware.bin(不含可执行代码)。格式依次为:开头的 `KFW2`(4 字节)、分区数量(uint16)、分区表(name:16 字节,以 NUL…

编程难度 5★★★★★

编程:覆盖率引导模糊引擎

请分析每次启动时随机生成的覆盖率引导模糊测试器运行记录 coverage-queue.jsonl(不会运行目标程序)。每行形如 `{"id": ..., "t": ..., "edges": [{"edge": ..., "hits":…

编程难度 5★★★★★

编程:零点击消息分析

messages.ndjson 是每次启动时用随机数据生成的消息应用通信记录(位于 /challenge)。每行是一个分片(message_id、frag_index、frag_count、payload_hex),多个消息的分片混在一起…

编程难度 5★★★★★

编程:时序攻击数据分析

timings.csv 是每次启动时用随机数据生成的时序攻击原始测量值(位于 /challenge)。针对逐字符比较秘密十六进制字符串的服务器,文件记录了在每个位置(position)发送候选字符(candidate,0 至…

数字取证难度 5★★★★★

检测进程镂空攻击

从 Windows 主机内存中恢复出了进程列表 `process_list.txt`(PEB 视角)、VAD 列表 `vad_regions.txt` 以及私有可执行区域的转储 `malfind/`。请找出被镂空(process…

数字取证难度 5★★★★★

检测被篡改的时间戳

`/challenge/mft_timeline.csv` 是从 NTFS 的 `$MFT` 导出的时间线,包含每个文件的 `$STANDARD_INFORMATION`(SI)与…

数字取证难度 5★★★★★

解密加密的 iOS 备份

用安全的 iTunes 元数据 fixture 验证加密 iOS 备份的密码。不使用真实 iPhone 或真实备份。请将候选密码与 Manifest.plist 中的摘要比对以确定密码,再解密加密的消息数据库并找出 flag。

数字取证难度 5★★★★★

为未知 Linux 内核版本创建内存配置文件

分析 `/home/ctfuser/evidence/custom_kernel.dump`,这是一台运行内部启用 `CONFIG_RANDSTRUCT` 编译的内核的服务器的部分物理内存。…

数字取证难度 5★★★★★

解读自定义协议的 C&C 通信

出口代理记录了被入侵终端 10.20.4.88 的通信。`/challenge/beacon.log` 中每行是一次收发,`data=` 是所收发字节的 Base64。…