挑战一览
解密加密磁盘
`/challenge/secret_disk.img` 是真实的 LUKS2 容器,数据区里放着一份备份(tar 归档)。口令很弱,是 `/challenge/wordlist.txt` 中的某一项。 这个终端无法使用…
音频文件中的隐藏数据
`hidden.wav` 中隐藏着用通断键控(OOK)编码的消息。把音调的开/关转换为比特并解码,即可得到 flag。 不提供参考解码器。请自己读取并解析信号,例如使用标准库的 `wave` 模块。 提供文件:hidden.wav
从 Android 应用提取秘密密钥
解压安全的 ZIP 格式 APK fixture(evidence/app.apk),分析 Android 资源中记录的已加密 API secret。开发者在构建中误带了多把私钥,请判断哪一把对应该 secret 并解密。…
从 CloudTrail 日志检测未授权访问
分析 CloudTrail 导出文件 `/challenge/cloudtrail.json`,追踪被盗访问密钥的未授权使用以及机密数据的外传。 攻击者在侦察、提权并创建新的访问密钥之后,用这个新密钥把读到的机密以多次 S3…
从 Docker 镜像层提取秘密
`/challenge/image/` 是展开后的 `docker save` 导出(OCI 布局)。各层以摘要命名,作为 gzip 压缩的 tar 存放在 `blobs/sha256/` 中,层的顺序要从…
解密 TLS 加密的 HTTPS 通信
`~/evidence/` 中有记录某台客户端 PC 的 HTTPS 通信的抓包文件 `traffic.pcap`(libpcap 格式),以及浏览器写出的 TLS 密钥日志 `sslkeylog.txt`(NSS 格式)。…
Web-26. User Profile Manager 中的原型污染
在这个 Node.js/Express 应用中,已登录用户能更新自己的资料。请检查用于更新的递归合并函数是否过滤了特殊键。
Web-27. GraphQL API 的内省信息泄露
该 GraphQL API 公开 User 对象的 schema,并启用了内省。请调查默认界面之外是否存在未记录的查询或字段。
Web-28. 劫持 OAuth 授权码
该 OAuth 2.0 授权提供方提供登录流程,但对 redirect_uri 的校验可能过弱。请尝试劫持授权码并取得管理员级访问令牌。
Web-29. MongoDB 登录表单中的 NoSQL 注入
该登录门户使用 MongoDB,并把用户名和密码 JSON 直接放入查询。请尝试在不知道真实密码时以管理员身份登录。
Web-30. KinoVault 中的不安全反序列化
旧式备份系统 KinoVault 据称用 Python `pickle` 序列化用户会话并存进 Cookie。请分析 Cookie 格式,并检查构造的 pickle 是否能提升权限。
从内存提取恶意软件载荷
`/challenge/memstrings.txt` 是从可疑进程地址空间中提取的字符串,加载器解开的第二阶段载荷(Base64)混在诱饵字符串和诱饵 Base64 之中。`/challenge/malfind_region.txt`…
从内存检测隐藏的内核模块
从疑似感染 LKM rootkit 的 Linux 主机内存中恢复出三份模块信息。`/challenge/modules_list.txt` 是内核 modules 链表(相当于…
解读多阶段隐写
`/challenge/cover.png` 和 `/challenge/notes.txt` 中埋设了三个阶段的隐写。每个阶段都包含读取下一阶段所需的密钥(口令或符号对应表),密钥每次启动都会变化,因此无法跳过中间阶段。请依次分析…
恢复碎片化的 JPEG 文件
`/challenge/fragments/` 中有从存储卡未分配空间回收的 256 字节簇(`clus_NNNN.bin`)。编号与原始顺序无关,还混有其他相机的照片和垃圾数据。请根据 JPEG 的结构(标记长度、DRI 和…
恢复损坏的 RAID5 阵列
文件服务器 fs01 的 RAID5 阵列 `/dev/md0`(4 块盘)因成员 sdd 故障而无法组装。`~/evidence/` 中有各成员的镜像(`sdb.img`、`sdc.img`、`sde.img`,空的…
关联多个日志以重建攻击场景
`/challenge/web.log`、`/challenge/auth.log` 和 `/challenge/db.log` 中记录了混在大量正常通信里的同一次入侵。请从对 Web…
重建 APT 攻击的全部阶段
四个日志 `/challenge/edr_process.log`、`proxy_http.log`、`dns_queries.log` 和 `dlp_transfer.log` 中,APT 攻击混杂在大量正常记录里。…
破解 BitLocker 加密驱动器
用安全的元数据 fixture 学习 BitLocker 恢复密钥的验证。bitlocker.img 不是真实卷。请将候选密钥的 SHA-256 与记录的摘要比对以确定恢复密钥,再用该密钥解密受保护的载荷。
提取 Bitcoin 交易中隐藏的消息
受害者把赎金支付到了比特币地址 `bc1qr4nsmw4r3pay7hzfx0d9cq3vkt8e6m5ljgs2ua`。`/home/ctfuser/evidence/transactions.json`…
从 IoT 设备固件提取秘密密钥
分析网络摄像头 KNC-CAM-2000 的更新文件 `/home/ctfuser/evidence/firmware.bin`(不要连接真实设备)。厂商把 rootfs 加密后分发,解密由引导程序在启动时完成。头部与分区表的格式见…
从虚拟机监控器内存提取 VM 信息
分析 KVM 主机的内存转储 `/home/ctfuser/evidence/kvm_host.dump`。来宾被配置成类似 AMD SEV 的方式,内存按每个 VM 用各自的密钥加密,但这台主机运行的是 KVM…
检测进程镂空攻击
从 Windows 主机内存中恢复出了进程列表 `process_list.txt`(PEB 视角)、VAD 列表 `vad_regions.txt` 以及私有可执行区域的转储 `malfind/`。请找出被镂空(process…
检测被篡改的时间戳
`/challenge/mft_timeline.csv` 是从 NTFS 的 `$MFT` 导出的时间线,包含每个文件的 `$STANDARD_INFORMATION`(SI)与…