网络安全 CTF 挑战

选择一个领域与难度,在安全环境中调查证据并验证结论。

Cryptography难度 4

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

`signatures.json` 含有两份复用了相同 nonce 的 DSA 签名。请从签名差分恢复 nonce `k` 和私钥 `x`,再将重复的 `SHA256(str(x))` 作为 XOR 密钥解密 flag。

Forensics难度 4

恢复损坏的 RAID5 阵列

将三磁盘 RAID5 作为安全的文件级 parity fixture 重建。不使用块设备、`mdadm` 或 loop 设备;根据布局及残留 parity 记录恢复丢失条带中的秘密。

General Skills难度 4

Nmap NSE:脚本化服务枚举

隔离目标网络 `192.168.100.0/24` 中存在易受攻击的服务。请用 Nmap NSE(Nmap Scripting Engine)扫描所有主机、检测服务版本、运行 `vuln` 类脚本、确认发现的…

Forensics难度 4

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

根据 session ID 关联 Web 攻击、认证成功和数据库结果,重建攻击链并找出 flag。

General Skills难度 4

静态分析:审阅程序证据

Web 应用源代码位于 `/app/webapp/`。请使用静态分析工具找出 SQL injection、硬编码凭据和 XSS;最严重(Critical)漏洞所在文件的注释中隐藏了旗标。可使用 `bandit`(Python)或…

General Skills难度 5

APT 模拟:攻击链证据分析

本隔离模拟用于映射初始访问、提权、横向移动、数据收集和持久化等 MITRE ATT&CK 阶段。请分析提供的证据链。

Forensics难度 5

重建 APT 攻击的全部阶段

以共同 campaign ID 关联 `edr_process.log`、`proxy_http.log`、`dns_queries.log` 和 `dlp_transfer.log`,按时间顺序重建 APT kill…

Forensics难度 5

破解 BitLocker 加密驱动器

使用安全元数据 fixture 学习 BitLocker 恢复密钥验证。`bitlocker.img` 不是真实卷;将候选密钥的 SHA-256 与记录摘要匹配,然后恢复受保护载荷。

Forensics难度 5

提取 Bitcoin 交易中隐藏的消息

在安全离线交易 fixture 中分析 Bitcoin `OP_RETURN`。`transaction.json` 是无需连接区块链的记录;请将 `nulldata` 输出中的十六进制数据转换为 ASCII。

General Skills难度 5

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

不要测试真实应用,请分析固定的漏洞赏金分诊报告,恢复 `validated-chain` finding 附带的证明。

Forensics难度 5

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

通过安全 tar 格式 rootfs fixture 学习 IoT 固件提取。`firmware.bin` 并非真实设备镜像;解开归档、找到 SSH 密钥元数据,并恢复其中嵌入的注释。

Linux难度 5

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

本题将 eBPF rootkit 调查安全地模拟为离线证据分析:不加载 eBPF,也不接触宿主内核;请检查提供的 bpftool 快照和 map 转储,复原隐藏文件路径。

Linux难度 5

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

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

Programming难度 5

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

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

General Skills难度 5

C2 框架:离线通信分析

不会启动 C2 服务器、agent、socket 通信或命令执行。请分析本地 beacon transcript 中的 `analysis-result` 记录以恢复旗标。

General Skills难度 5

反取证:识别痕迹清除

请从日志、时间戳和文件元数据中识别反取证迹象,理解删除、时间篡改和安全擦除对调查的影响。

General Skills难度 5

恶意软件分析:解混淆配置

题目不包含可执行恶意软件、注入或规避能力。请分析惰性配置样本,并从解混淆的配置记录中恢复旗标。

General Skills难度 5

AWS 攻击链:CloudTrail 工件分析

不使用 AWS 凭据、metadata endpoint 或 Lambda。请从本地模拟 CloudTrail 链中分析 `artifact-recovery` 事件以恢复旗标。

General Skills难度 5

Kubernetes 安全:特权挂载审计

不会使用 Kubernetes API、宿主机挂载、特权容器或逃逸。请阅读静态特权挂载审计,并从 `mount-review` 证据恢复旗标。

General Skills难度 5

供应链安全:依赖关系审计

请检查 Node.js 应用的依赖版本、锁文件和安全通告,理解旧依赖为何带来风险并找到旗标。

Network难度 5

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

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

Forensics难度 5

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

在安全的文本 VMCS/来宾内存 fixture 中分析 KVM 来宾状态。不启动或采集 VM;从主机转储记录定位目标来宾范围并恢复载荷。

General Skills难度 5

网络枢轴:离线路由拓扑分析

不会创建路由、隧道、代理或远程服务。请分析预先记录的离线路由拓扑,并从内部服务响应负载中恢复旗标。

General Skills难度 5

模糊测试:最小化崩溃工件

无需运行 fuzzer 或目标二进制,请分析预先最小化的安全崩溃工件,从最小化负载中恢复旗标。