挑战一览
网络分析:解码自定义协议
捕获到使用简易自定义二进制协议的系统流量。请从 `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 片段)。请求出从…
编程:ZIP 密码恢复
secret.zip 是每次启动时创建的、用 ZipCrypto(传统 PKWARE 加密)加密的 ZIP(位于 /challenge,同目录有 wordlist.txt)。密码是 wordlist.txt 中的某一个词,后面再加 2…
编程:PCAP 文本分析
capture.txt 是每次启动时创建的数据包日志(位于 /challenge)。每行是一个流,格式为 flow=<名称> payload_hex=<十六进制>。将 payload_hex 与 0x5A 做 XOR 解密并还原…
编程:多线程结果重组
请分析每次启动时随机生成的并行任务结果日志 worker-results.jsonl。每个 slot 都被尝试了很多次,日志里还保留着超时(timeout)或被后续尝试取代(superseded)的结果。每个 slot…
编程:内存转储分析
请分析每次启动时随机生成的合成内存镜像 memory.img。开头的堆管理表(开头 8 字节 HEAPTBL + NUL、count(uint16)、条目(addr: uint32、size: uint16、flags:…
编程:已知明文密码分析
请分析每次启动时随机生成的证据文件 ciphertext.b64 和 known.txt。ciphertext.b64 是用仅含小写字母的短密钥(长度未知)对观测站报告做循环 XOR 后再 Base64 编码得到的,known.txt…
编程:自定义协议
protocol.bin 是每次启动时创建的二进制抓包文件(位于 /challenge),其中依次排列着若干以 KINO 开头、带长度字段的帧。从头依次遍历这些帧,把 type=3 的帧的 payload 与 0x23 做 XOR…
编程:图像隐写
image.pgm 是每次启动时创建的文本格式(P2)PGM 图像(位于 /challenge)。从头收集每个像素值的最低有效位(LSB),每 8 位合成一个字节,读到 NUL(值为 0 的字节)之前的内容就是旗标。旗标不会以明文存放。
从内存发现可疑网络连接
从被入侵主机 `kinoco-app03` 的内存镜像中,恢复出了套接字列表 `/challenge/netstat_dump.txt`,以及每个拥有 ESTABLISHED 套接字的进程的堆区域…
从内存恢复执行过的命令
从内存字符串记录 `memdump.txt` 中提取命令历史,找出可疑命令及其中的 flag。
恢复已删除的 SQLite 记录
给你内部聊天工具 "kinoco-msg" 的 SQLite 数据库 `/challenge/app.db`。作为 "机密消息" 发送的正文,按下面的形式保存: body = "enc:v1:" + hex(明文 XOR 密钥流)…
解开多重压缩文件
`/challenge/artifact.xz` 是攻击者试图带出的文件,被 gzip、bzip2、xz、zip、tar 层层嵌套包裹。请逐层辨认格式并剥开,从最深处的 `flag.txt` 中取得 flag。…
解密加密磁盘
`/challenge/secret_disk.img` 是真实的 LUKS2 容器,数据区里放着一份备份(tar 归档)。口令很弱,是 `/challenge/wordlist.txt` 中的某一项。 这个终端无法使用…
密码分析:RSA 共模攻击
两个系统共用同一个 RSA 模数 n,只改变了公开指数。同一条消息分别用 e1 和 e2 加密得到的密文 c1、c2 已经泄露(`public_keys.txt`、`ciphertexts.txt`)。n…
密码分析:小素数 Diffie-Hellman
一台旧 IoT 设备使用只有 36 位的素数 p 进行 Diffie-Hellman 密钥交换。`handshake.txt` 中有 p、g、`A = g^a mod p`、`B = g^b mod…
高级正则表达式:复杂模式匹配
/challenge/data.txt 有 400 行联系记录,每行以不同顺序和标签包含邮箱、电话号码、IP 地址和日期,最后是 memo="..."。有些字段格式损坏,有些行缺少字段。 同时以正确格式包含以下全部内容的行只有一行,其…
音频文件中的隐藏数据
`hidden.wav` 中隐藏着用通断键控(OOK)编码的消息。把音调的开/关转换为比特并解码,即可得到 flag。 不提供参考解码器。请自己读取并解析信号,例如使用标准库的 `wave` 模块。 提供文件:hidden.wav
高级 Bash:复杂脚本处理
`/challenge/logs/` 中有 4 台 Web 前端的访问日志(combined log format,60 个文件,超过 10 万行)。WAF 为许多来源 IP 各留下了一行 `waf_rule=...…
AWS CLI:云资源枚举
`/challenge/s3_audit/` 中是离线导出的 S3 配置审计记录(`buckets.json` 以及每个 bucket 的 `*_publicaccessblock.json`、`*_policy.json`、`*_acl…
从 Android 应用提取秘密密钥
解压安全的 ZIP 格式 APK fixture(evidence/app.apk),分析 Android 资源中记录的已加密 API secret。开发者在构建中误带了多把私钥,请判断哪一把对应该 secret 并解密。…
Ansible:Vault 导出审计
无需运行 Ansible 或接触服务器,请分析生成的运行记录 `artifacts/ansible/vault-export.yml`。其中有大量任务结果,其中多数带有 `vault_payload_hex`。只有 `host` 为…