挑战一览

清除筛选

239 题 (第 9 / 10 页)

编程难度 4★★★★☆

编程:异常检测

/challenge/requests.csv 是每次容器启动都会用随机数据重新生成的 Web API 访问记录(request_id, timestamp, path, status, latency_ms,…

编程难度 4★★★★☆

编程:渗透测试框架

findings.json 是每次启动时用随机数据生成的扫描结果(位于 /challenge),包含 entry(edge-gw)、objective(vault)和主机列表 hosts;每台主机的 findings 中有 id(6…

编程难度 4★★★★☆

编程:异步扫描器

/challenge/scan-events.jsonl 是每次容器启动都会用随机数据重新生成的异步端口扫描器事件记录(行顺序是乱的,部分事件重复)。对 state 事件,每个 (host, port) 中 t…

数字取证难度 4★★★★☆

从内存提取恶意软件载荷

`/challenge/memstrings.txt` 是从可疑进程地址空间中提取的字符串,加载器解开的第二阶段载荷(Base64)混在诱饵字符串和诱饵 Base64 之中。`/challenge/malfind_region.txt`…

数字取证难度 4★★★★☆

从内存检测隐藏的内核模块

从疑似感染 LKM rootkit 的 Linux 主机内存中恢复出三份模块信息。`/challenge/modules_list.txt` 是内核 modules 链表(相当于…

数字取证难度 4★★★★☆

解读多阶段隐写

`/challenge/cover.png` 和 `/challenge/notes.txt` 中埋设了三个阶段的隐写。每个阶段都包含读取下一阶段所需的密钥(口令或符号对应表),密钥每次启动都会变化,因此无法跳过中间阶段。请依次分析…

数字取证难度 4★★★★☆

恢复碎片化的 JPEG 文件

`/challenge/fragments/` 中有从存储卡未分配空间回收的 256 字节簇(`clus_NNNN.bin`)。编号与原始顺序无关,还混有其他相机的照片和垃圾数据。请根据 JPEG 的结构(标记长度、DRI 和…

基础技能难度 4★★★★☆

GPG 加密:解密受保护消息

练习用 GnuPG 解密。请导入 `/challenge/keys/` 中的所有私钥,并解密 `/challenge/messages/` 中的每一封密文。只有用真正接收者的密钥加密的那一封,解密后才是包含旗标的明文;其余都是无害的业务通…

密码学难度 4★★★★☆

密码分析:DSA nonce 复用导致的私钥恢复

每次启动都用新密钥生成的 /challenge/signatures.json 中包含 DSA 公开参数(p 为 1024 位,q 为 160 位,以及 g、y)、4 份签名(message、h、r、s,其中 h 是…

密码学难度 4★★★★☆

密码分析:RSA 的 Wiener 攻击

某嵌入式设备团队为了加快解密,把 RSA 私钥指数 d 设得非常小。`public_key.txt` 中的公开指数 e 几乎与 n 一样大。请从 e/n 的连分数展开求出 d,解密 `ciphertext.txt` 并取出旗标。

密码学难度 4★★★★☆

密码分析:恢复线性同余生成器的参数

某服务用参数 a、c、m 均保密的线性同余生成器 `x_{k+1} = (a×x_k + c) mod m` 同时生成会话令牌和加密密钥流。请从 `tokens.txt` 中连续的 10 个输出恢复 a、c、m,再解密用后续输出(每个…

数字取证难度 4★★★★☆

恢复损坏的 RAID5 阵列

文件服务器 fs01 的 RAID5 阵列 `/dev/md0`(4 块盘)因成员 sdd 故障而无法组装。`~/evidence/` 中有各成员的镜像(`sdb.img`、`sdc.img`、`sde.img`,空的…

基础技能难度 4★★★★☆

Nmap NSE:脚本化服务枚举

对内部子网 `10.66.13.0/24` 执行 `nmap -sV -sC --script vuln` 的结果保存在 `/challenge/scan_results/nmap_scan.nmap`(普通格式)和…

数字取证难度 4★★★★☆

关联多个日志以重建攻击场景

`/challenge/web.log`、`/challenge/auth.log` 和 `/challenge/db.log` 中记录了混在大量正常通信里的同一次入侵。请从对 Web…

基础技能难度 4★★★★☆

静态分析:审阅程序证据

内部笔记应用的 Python 源代码位于 `/challenge/src/`。上一次静态分析标记的 9 行在行尾带有 `# finding: KINOCO{...}` 形式的发现 ID,但大多数是误报。…

基础技能难度 5★★★★★

APT 模拟:攻击链证据分析

这不是执行攻击的题目,而是阅读已发生事件日志的蓝队演练。请从汇总了 EDR、认证和网络设备日志的统一时间线 `/challenge/timeline.log` 中,重建混在日常业务中的 APT…

数字取证难度 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★★★★★

漏洞赏金:离线分诊报告审计

不要测试真实应用,请分析固定的 `artifacts/bug-bounty/triage-report.json`。漏洞链报告的 `status` 为 `validated-chain`,并在 `chain` 中按顺序列出组成它的…

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

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

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

Linux难度 5★★★★★

Linux-eBPF Rootkit:揭开隐藏进程的真相

本题将 eBPF rootkit 调查安全地模拟为离线证据分析:不加载 eBPF,请从提供的 bpftool 快照中分辨出植入程序及其映射,复原隐藏文件路径,并用植入程序自身的密钥解密保存在该文件中的加密载荷。

Linux难度 5★★★★★

Linux-内核利用:安全的 Dirty COW 模拟

本题以安全、确定性的用户空间模拟介绍 Dirty COW(CVE-2016-5195)涉及的 `mmap`、`MAP_PRIVATE` 与 `madvise`;请编译并运行提供的程序,检查生成结果。

编程难度 5★★★★★

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

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