挑战一览
从内存检测隐藏的内核模块
从疑似感染 LKM rootkit 的 Linux 主机内存中恢复出三份模块信息。`/challenge/modules_list.txt` 是内核 modules 链表(相当于…
解读多阶段隐写
`/challenge/cover.png` 和 `/challenge/notes.txt` 中埋设了三个阶段的隐写。每个阶段都包含读取下一阶段所需的密钥(口令或符号对应表),密钥每次启动都会变化,因此无法跳过中间阶段。请依次分析…
恢复碎片化的 JPEG 文件
`/challenge/fragments/` 中有从存储卡未分配空间回收的 256 字节簇(`clus_NNNN.bin`)。编号与原始顺序无关,还混有其他相机的照片和垃圾数据。请根据 JPEG 的结构(标记长度、DRI 和…
密码分析:DSA nonce 复用导致的私钥恢复
每次启动都用新密钥生成的 /challenge/signatures.json 中包含 DSA 公开参数(p 为 1024 位,q 为 160 位,以及 g、y)、4 份签名(message、h、r、s,其中 h 是…
密码分析:RSA 的 Wiener 攻击
某嵌入式设备团队为了加快解密,把 RSA 私钥指数 d 设得非常小。`public_key.txt` 中的公开指数 e 几乎与 n 一样大。请从 e/n 的连分数展开求出 d,解密 `ciphertext.txt` 并取出旗标。
密码分析:恢复线性同余生成器的参数
某服务用参数 a、c、m 均保密的线性同余生成器 `x_{k+1} = (a×x_k + c) mod m` 同时生成会话令牌和加密密钥流。请从 `tokens.txt` 中连续的 10 个输出恢复 a、c、m,再解密用后续输出(每个…
恢复损坏的 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 加密后分发,解密由引导程序在启动时完成。头部与分区表的格式见…
Linux-eBPF Rootkit:揭开隐藏进程的真相
本题将 eBPF rootkit 调查安全地模拟为离线证据分析:不加载 eBPF,请从提供的 bpftool 快照中分辨出植入程序及其映射,复原隐藏文件路径,并用植入程序自身的密钥解密保存在该文件中的加密载荷。
Linux-内核利用:安全的 Dirty COW 模拟
本题以安全、确定性的用户空间模拟介绍 Dirty COW(CVE-2016-5195)涉及的 `mmap`、`MAP_PRIVATE` 与 `madvise`;请编译并运行提供的程序,检查生成结果。
网络分析:重组 IPv4 重叠分片
`fragments.pcap` 中 IPv4 ID `0xbeef` 的 UDP 数据报有重叠分片,后到的分片会覆盖部分先到数据。请按到达顺序优先后到数据进行重组,再从 UDP 有效载荷中的 Base64 数据恢复旗标。
从虚拟机监控器内存提取 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)与…
解密加密的 iOS 备份
用安全的 iTunes 元数据 fixture 验证加密 iOS 备份的密码。不使用真实 iPhone 或真实备份。请将候选密码与 Manifest.plist 中的摘要比对以确定密码,再解密加密的消息数据库并找出 flag。
密码分析:RSA e=3 广播攻击
`broadcast.json` 含有同一明文使用未填充 RSA、`e=3` 加密到三个两两互素 modulus 的结果。请使用中国剩余定理和整数立方根恢复明文。
为未知 Linux 内核版本创建内存配置文件
分析 `/home/ctfuser/evidence/custom_kernel.dump`,这是一台运行内部启用 `CONFIG_RANDSTRUCT` 编译的内核的服务器的部分物理内存。…
解读自定义协议的 C&C 通信
出口代理记录了被入侵终端 10.20.4.88 的通信。`/challenge/beacon.log` 中每行是一次收发,`data=` 是所收发字节的 Base64。…