挑战一览

清除筛选

184 题 (第 6 / 8 页)

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

CI/CD 安全:工作流泄露审计

审计 `/challenge/repo/.github/workflows/` 下的 20 个 GitHub Actions 工作流。许多步骤带有 `# audit-ticket: KINOCO{...}` 注释。…

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

从 CloudTrail 日志检测未授权访问

分析 CloudTrail 导出文件 `/challenge/cloudtrail.json`,追踪被盗访问密钥的未授权使用以及机密数据的外传。 攻击者在侦察、提权并创建新的访问密钥之后,用这个新密钥把读到的机密以多次 S3…

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

从 Docker 镜像层提取秘密

`/challenge/image/` 是展开后的 `docker save` 导出(OCI 布局)。各层以摘要命名,作为 gzip 压缩的 tar 存放在 `blobs/sha256/` 中,层的顺序要从…

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

Terraform:tfstate 工件审计

无需初始化 Terraform provider,请分析生成的 `terraform/terraform.tfstate`。outputs 中的 `recovery_secret_arn` 指向恢复用密钥的 ARN。在…

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

Kubernetes:Pod 快照调查

无需连接 Kubernetes 集群,请调查 `artifacts/kubernetes/` 中的两个快照(`pod-snapshot.yaml` 和 `secret-snapshot.yaml`)。命名空间…

编程难度 4★★★★☆

高级 Python:执行自定义 VM 字节码

`program.kvm` 是自定义四寄存器 VM 的字节码。根据 README 的指令规格实现 Python 解释器,并恢复 VM 输出。

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

解密 TLS 加密的 HTTPS 通信

`~/evidence/` 中有记录某台客户端 PC 的 HTTPS 通信的抓包文件 `traffic.pcap`(libpcap 格式),以及浏览器写出的 TLS 密钥日志 `sslkeylog.txt`(NSS 格式)。…

Web 安全难度 4★★★★☆

Web-26. User Profile Manager 中的原型污染

在这个 Node.js/Express 应用中,已登录用户能更新自己的资料。请检查用于更新的递归合并函数是否过滤了特殊键。

Web 安全难度 4★★★★☆

Web-27. GraphQL API 的内省信息泄露

该 GraphQL API 公开 User 对象的 schema,并启用了内省。请调查默认界面之外是否存在未记录的查询或字段。

Web 安全难度 4★★★★☆

Web-28. 劫持 OAuth 授权码

该 OAuth 2.0 授权提供方提供登录流程,但对 redirect_uri 的校验可能过弱。请尝试劫持授权码并取得管理员级访问令牌。

Web 安全难度 4★★★★☆

Web-29. MongoDB 登录表单中的 NoSQL 注入

该登录门户使用 MongoDB,并把用户名和密码 JSON 直接放入查询。请尝试在不知道真实密码时以管理员身份登录。

Web 安全难度 4★★★★☆

Web-30. KinoVault 中的不安全反序列化

旧式备份系统 KinoVault 据称用 Python `pickle` 序列化用户会话并存进 Cookie。请分析 Cookie 格式,并检查构造的 pickle 是否能提升权限。

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

自定义工具:目录扫描报告分析

请分析本地生成的 `artifacts/scanner/directory-report.ndjson`,而不是扫描真实网站。扫描器对同一站点扫描了多次(`run`)。只有最新一次 run 中 `path` 恰好为…

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

SSH 隧道:访问回环内部服务

在单个容器内练习SSH本地端口转发。SSH监听127.0.0.1:22,内部服务使用/run/tunnel/database.sock,本地玩家无法直接访问该套接字。…

编程难度 4★★★★☆

二进制修复:固件头与 CRC32

修复 `firmware.bin`:将 byte 0-3 写为 `KINO`,并把 byte 12 之后数据的 little-endian CRC32 写回 byte 8-11。将修复文件交给 `challenge.py`…

编程难度 4★★★★☆

编程:C2 通信分析

请分析每次启动时随机生成的合成日志 beacon.log(不需要网络连接)。多台主机(会话)的通信按时间顺序混在一起。每个会话在第一条 hello 中发送 nonce,该会话的密钥是 SHA-256(b"beacon-v1" +…

编程难度 4★★★★☆

编程:缓冲区溢出崩溃报告分析

请分析每次启动时随机生成的崩溃报告 crash_01.txt 到 crash_06.txt(不含可执行代码)。每份报告都写有发送的输入本身(input:)和崩溃时的指令指针(32 位为 eip,64 位为 rip)。…

编程难度 4★★★★☆

编程:模糊测试结果分析

请分析每次启动时随机生成的模糊测试结果日志 fuzz-results.log(输入只是被保存下来,不会被执行)。每行是一个用例,格式为 `case=<6 位十六进制> result=<OK|TIMEOUT|CRASH>…

编程难度 4★★★★☆

编程:区块链事件重组

/challenge/blocks.json 是每次容器启动都会用随机数据重新生成的离线开发链区块列表(顺序是乱的,并包含因分叉产生、不在规范链上的孤立区块)。请从 height 最大的区块沿 parent_hash…

编程难度 4★★★★☆

编程:Rootkit 视图差异

proc_ps.txt(用户空间 ps 的结果)与 proc_kernel.txt(直接遍历内核任务链表的结果)每次启动时用随机数据生成(位于 /challenge)。两者第一行都有采集时间 snapshot_time(UNIX…

编程难度 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`…