挑战一览
Docker 取证:检查容器证据
在没有 Docker 守护进程的环境中调查镜像 `registry.internal/kinoco-billing-api:2.4.1` 的元数据:`/challenge/image_history.txt`(相当于 `docker…
从 Git 历史中找出被删除的 API 密钥
`/app/repo` 是一个 Git 仓库。开发者曾误将 API_KEY 提交,并在后续提交中将其删除。请查看正常的 Git 历史,找到删除前的 `config.py`,恢复其 API 密钥中包含的旗标。
Linux-Capabilities:不依赖 SUID 的提权
系统中特定二进制文件被授予 Linux capabilities。请研究不使用 SUID 位的 capabilities 提权方法。
Linux-SUID:通过 find 理解提权风险
系统有一份设置了 SUID 位的 `find` 副本。本题在隔离环境中演示此类危险配置为何可导致高权限 shell。
Linux-proc 内存:查看进程环境变量
持续运行的守护进程将旗标保存在环境变量中。请通过 `/proc` 文件系统检查该进程。
Linux-strace:追踪系统调用找出文件
提供的二进制既不输出到标准输出也不落盘。它从隐藏文件读取密钥,在内存中还原旗标并写入 /dev/null。请用 strace 追踪系统调用,找出哪一个调用的参数暴露了旗标。
Linux-竞争条件:分析 TOCTOU 窗口
root 定期运行的清理脚本在检查与处理文件之间存在 TOCTOU 间隙;本题用于理解符号链接与时序风险。
Python API:接口自动化
容器内在 `http://127.0.0.1:8000/api/records?page=N` 运行一个分页本地 API。请遍历所有页面直到 `next` 为 `null`,只收集 `tag == "flag"` 的记录;每条形如…
Python 自动化:分析 SQLite 数据库
请分析每次启动时生成的 data.db(SQLite,含 users / orders / audit_log)。按 user_id 对 orders 做 SUM(amount) 聚合,找出订单总额最高的前 3…
Python 自动化:解密自定义密码
`cipher.txt` 以十六进制保存经自定义密码加密的旗标。加密逐字节执行 add(密钥加法)-> xor(位置相关)-> rotl(循环移位);请按逆序实现解密。完整规格见 `python3 challenge.py`。
Python 自动化:破解加密 ZIP 密码
每次启动都会生成 /challenge/secret.zip。其中有 flag.txt 和 readme.txt,使用 ZipCrypto 加密。密码是 /challenge/wordlist.txt 中的一个词再加上两位数字(00 到…
SQL 查询大师:复杂连接
SQLite 数据库 `/challenge/company.db` 有三张表: - employees (id, name, department_id, salary, email, note) - departments (id,…
算法:迷宫中的 BFS 最短路径
请用 BFS 求 `data.txt` 中从 S 到 E 的最短路径,并将 UDLR 移动序列输入 `challenge.py`。正确路径会显示启动时注入的 FLAG。
strace 调试:跟踪程序行为
`/challenge/strace.log` 是用 strace 跟踪无源代码程序 `/app/mystery_program` 得到的记录。程序会读取多个内容形似令牌(`KINOCO{...}`)的文件,但同时满足以下两个条件的只有一…
journalctl:分析 systemd 日志
分析以 `journalctl -o short` 格式导出的 systemd 日志 `/challenge/system.log`。每行格式为“时间 主机 单元[PID]: 优先级: 消息”。单元字段为 `authd` 且优先级字段为…
Netcat:离线回调记录分析
无需连接任何外部主机,请分析预先记录的 `artifacts/netcat/callback-transcript.log`,不会启动 listener 或 shell。在连接列表中找到从被攻陷主机 `10.0.5.23` 连到…
网络分析:802.1Q VLAN 隔离的流量
`capture.pcap` 是镜像交换机中继端口抓到的流量,多个 VLAN 的帧带着 802.1Q 标签混在一起。每个 VLAN 上都有同一台设备以 `MGMT|<片段>` 的形式向 UDP 5140…
网络分析:SNMP 信息泄露
捕获到一台使用弱 community string `public` 的 SNMPv2c 设备返回 GetResponse。请分析 `traffic.pcap` 中 SNMP(UDP/161)的 varbind,并从厂商 OID…
网络分析:SSL Strip 导致的明文凭据
SSL Strip 攻击将 HTTPS 降级为 HTTP,受害者凭据以明文传输并被捕获。请分析 `traffic.pcap` 中的明文 HTTP POST,提取登录密码(即旗标)。
网络分析:解除 WebSocket 帧掩码
`capture.pcap` 记录了浏览器与聊天服务器之间的 WebSocket 通信。客户端发往服务器的每一帧都用不同的 4 字节密钥做了掩码。请解析各帧并去掉掩码,把拆成三帧的消息重新拼起来,取出部署用令牌(旗标)。
网络分析:解码自定义协议
捕获到使用简易自定义二进制协议的系统流量。请从 `traffic.pcap` 分析 TCP 9999 端口上的帧结构,解码有效载荷并取得旗标。
性能分析:定位资源瓶颈
分析服务器快照 `/challenge/metrics.log`。前半部分是 top 风格的进程表(%CPU 在第 9 列,%MEM 在第 10 列),后半部分是 ps -ef 风格的完整命令行列表。%CPU 不低于 50.0 且…
编程:SQLite 证据库
evidence.db 是每次启动时用随机数据生成的 SQLite 数据库(位于 /challenge,包含 users / sessions / access_log 三张表)。对 trust_score 不低于 80…
编程:Web 抓取图遍历
site.json 是每次启动时用随机数据生成的抓取结果(位于 /challenge),包含 start 与 target 的 URL,以及每个页面的 url / links / fragment(Base64 片段)。请求出从…