Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
cmdchamp — bash CLI 训练器 — 从 ls 到权限提升的 30 个级别 | Kitploit
工具/GitHubGitHub/mellen9999/cmdchamp
密码破解权限提升Wi-Fi审计哈希分析脚本与自动化取证分析网络安全CTF渗透测试学习与教育实验室与实践
GitHubmellen9999/cmdchamp
12417天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

cmdchamp

bash CLI 训练器 — 从 ls 到权限提升的 30 个级别

查看仓库

cmdchamp

Bash CLI 训练器 — 从 ls 到权限提升,共 30 个关卡。

demo

每个问题都要求你输入一条真实的命令 — 获得即时反馈,然后继续。答错时它不只是给你看答案:它会展示你的命令输出与期望输出之间的差异,对于管道命令还会显示每个阶段的输出行数,让你看到它在哪一步出了问题。对于文本匹配的问题,它会指出你的答案最接近哪个可接受答案,以及你遗漏的具体标志。用繁琐的方式答对后,它会展示简洁方式 — cat f | grep -c X 会得到 Shorter: grep -c X f,不仅在字符数更少时触发,在管道阶段更少时也会触发,因为你节省的进程本身就是一课。许多问题针对沙箱中的真实文件运行,并且所有问题都接受多种有效语法(sort -u 或 sort | uniq)。当你需要参考时,按 Tab 可切换手册页 — 为答案运行的每条命令以及它所依赖的 shell 语法(x=$(cmd)、${var:-default}、${path##*/})都提供了精简页面,因此问题中的任何内容都不需要你去猜测。每次运行的顺序都是随机化的,所以你无法死记硬背。精通度会跟踪你的掌握情况:同一问题答对两次即可精通,答错则会降级,使其更快再次出现。连续答对 5 题会触发火焰模式 — 一个持续到你答错为止的横幅。

每个关卡都以 Boss 回合结束 — 无手册页,30 秒计时器,5 题中答对 4 题即可通过。失败后你可以立即重试 Boss 或返回练习。通关全部 30 关后,挑战模式解锁 — 终局试炼:将整个游戏中的工具组合成一条管道的多命令链。每题 30 秒,只有一条命,无手册页,你的最佳成绩就是纪录。每条链都根据其在沙箱中的真实输出进行评分,因此任何正确的管道都能通过。每次运行还会构建一个全新的随机化沙箱 — 不同的 IP、计数、主机和日志数据 — 并从 50+ 个链模板中抽取,带有轮换的分隔符、排序顺序和聚合方式,因此最繁忙的 IP、排名最高的 URL、最高的计数永远不会重复出现。首次运行包含一个简短的教程和一个分级测试,让你跳过已经掌握的关卡。

借助 bubblewrap,命令在真实的沙箱文件系统中运行,并根据其实际输出进行评分。内部的盒子是合成的 — 用户 sandbox、主机 sandbox、它自己的 /etc/passwd 和内核命令行 — 因此你输入的任何内容都不会将你的真实用户名、机器名或磁盘布局打印到屏幕上,并且 id、whoami 和 hostname 在任何地方都返回相同的答案。这现在也延伸到了取证层级:第 28 关会给你一个真实的示例二进制文件(samples/target.bin),并评分你是否真正从中提取出了 flag、外传域名和泄露的 API 密钥 — 对真实 JSON 的 jq 问题也是如此。终局试炼将这些提取组合成限时链。第 24-25 关现在也真实运行:一个小型 HTTP 服务在沙箱自己的网络命名空间内的 localhost:8080 上启动,同时你的答案运行,有三个端口在监听,因此 curl、通过 HTTP 的 jq、ss 和 nmap 会根据它们实际返回的内容进行评分。你的机器不会暴露任何内容 — 命名空间仍然阻止所有出站连接,并且该端口从外部不可见。只有那些真正无法在沙箱中运行的工具 — wifi/RF、实时捕获和大内存/磁盘取证 — 才保持文本匹配。搜索关卡(16-17)同时接受 / 和 / 语法。内置 Vi 行编辑 — 移动、操作符、计数、寄存器、撤销和可视模式(/, 交换端点), 查看完整映射。

安装

Arch(AUR):

root@kitploit:~
paru -S cmdchamp   # 或:yay -S cmdchamp

任意位置(单文件):

root@kitploit:~
mkdir -p ~/.local/bin && curl -sL https://raw.githubusercontent.com/mellen9999/cmdchamp/main/cmdchamp -o ~/.local/bin/cmdchamp && chmod +x ~/.local/bin/cmdchamp

如有需要,将 ~/.local/bin 添加到 PATH:echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc

或克隆:

root@kitploit:~
git clone https://github.com/mellen9999/cmdchamp.git
cd cmdchamp && make install

要求: bash 4.4+、coreutils、awk

macOS: 自带 bash 3.2 — 请先安装 bash 4.4+:brew install bash

可选: bubblewrap(bwrap)用于沙箱模式(仅限 Linux)— 大多数桌面发行版都包含它。没有它,答案仅进行文本匹配

可选: python3 — 为沙箱的 localhost HTTP 服务提供服务,因此第 24-25 关的 live api / live box 问题会根据真实输出进行评分。没有它,这些问题会回退到文本匹配;其他一切不变

无障碍: 支持 NO_COLOR 和 TERM=dumb。布局适应 COLUMNS / tput cols。精通度条同时带有颜色和 ✓ / ~ / x 符号 — 无颜色也可读。

终端: 可在真实的串行终端上运行,而不仅仅是模拟器。cmdchamp 会探测终端实际能显示的内容,并从三种渲染层级中选择一种 — Unicode、DEC ACS 线条绘制或纯 ASCII — 因此框架在 VT100/VT220/VT320/VT420 或 Wyse 上也能保持完整。在单色屏幕上,颜色区分会重新编码为粗体/反显。使用 CMDCHAMP_ASCII=1 或 CMDCHAMP_UNICODE=1 强制指定层级。./test_terminals.sh 可验证。

用法

root@kitploit:~
cmdchamp                # 启动游戏菜单
cmdchamp explain 'CMD'  # 解释任何命令 - 每个标志,以及周围的 shell 语法
cmdchamp autopsy        # 读取你自己的 shell 历史并将其映射到课程上
cmdchamp daily          # 玩今天的每日试炼(每个人运行相同)
cmdchamp daily 2026-02-16   # 重放特定某天的运行(与朋友比赛)
cmdchamp play           # 自由练习沙箱:输入任何命令,查看其运行
cmdchamp --no-sandbox   # 禁用沙箱(仅文本匹配)
cmdchamp reset          # 清除所有进度
cmdchamp test           # 运行自测
cmdchamp version        # 打印版本
cmdchamp help           # 显示帮助

cmdchamp explain(或 cmdchamp x)是 Tab 面板的独立工具版本:约 300 条命令的手写页面以及周围的 shell 语法,离线、无网络、无依赖。它接受带引号的命令或裸词,当两者都没有时读取 stdin — 因此 history | tail -1 | cmdchamp x 会解释你刚刚运行的命令。认识该命令时退出码为 0,不认识时为 1。

cmdchamp autopsy 读取你的 shell 历史 — $HISTFILE,然后是 ~/.bash_history,然后是 ~/.zsh_history,或你指定的文件,或 - 表示 stdin — 并将其映射到 30 个关卡:你实际会使用什么、值得改掉的习惯(每个旁边都有你自己的计数)(cat 接 grep、find 接 xargs 但没有 -print0、chmod 777、curl | sh)、游戏教授的命令中你实际运行过多少条,以及最早出现空白的关卡。它只打印模式和计数 — 绝不打印你历史中的任何一行、片段或"示例",因为历史中保存着作为参数输入的令牌和密码。没有任何内容离开你的机器,也没有任何标志可以让它回显你的历史。

菜单包含继续、新游戏、场景、挑战、每日、练习、统计、选项、帮助和退出,使用固定热键 1-9 和 0。未解锁的行会灰显而不是隐藏,因此标签旁边的数字在你推进时永远不会移动。j/k 或方向键移动,Enter 选择,q(或 Esc)退出。练习场位于场景列表的顶部 — 它是唯一永远不会被锁定的条目。帮助是参考手册,共三页:每个按键、每种模式的花费和解锁条件、评分和衰减如何工作、统计标记的含义、答案如何被评判,以及每个环境变量。首次运行的教程在最后一页上仍然只需一次按键即可访问。

每日(ROOT 之后)是一个以日期为种子的试炼运行 — 种子同时驱动链和随机化沙箱,因此每个人在当天都会获得字节级相同的问题和数据,一次计分尝试、连续天数记录,以及一个可复制的分数供你分享。练习可演练任何已到达的关卡(显示其精通度百分比),带提示且无计时器,不会影响你的主进度。练习场是一个被攻破的盒子,你用真实的 shell 将其拆解:有人入侵、使用,然后试图清理,每一步都在磁盘上留下了痕迹。命令在沙箱中真实运行,且不进行评分。树中埋藏了最多 8 个 flag{...} 令牌(随着你通关关卡会解锁更多),map 按阶段展示入侵过程并标记你所在的位置,learn 是背后的 8 模块安全课程,hint 每次询问都会深入一层,Tab 解释你输入的内容。标题始终标明你正在搜寻的阶段及其留下的文件,因此你永远不会面对一个不知道把命令指向何处的提示符 — 如果六条命令过去仍一无所获,第一个提示会主动出现。

统计

两页。第一页是三十个关卡进度条 — 你走了多远。第二页是将相同的精通度投射到命令上,最弱的在前,因为关卡作为练习的粒度太粗了:仅第 13 关就教授 cp、mv、ln、chmod、ACL、du、tar 和 diff,一条红色进度条无法说明你一直遗漏的是哪一个。只计算你已到达的关卡,网格限制为一屏 — 需要滚动的工作清单不是工作清单。在其下方,三条最弱的命令会标注教授它们的关卡,因此页面在练习开始处结束 — 关卡名称是主题性的,如果你必须猜测 xargs 0/4 位于批处理操作中,那它就是一个死胡同。

关卡

场景

多步骤沙箱挑战 — 状态在步骤之间持续存在。通关解锁 Boss 后可从场景菜单访问,该菜单按解锁顺序在练习场下方列出它们。下面的数字是场景 ID,永远不会改变。

场景 12–13 是漏洞利用盒子:你植入真实的 tar-checkpoint 注入 / PATH 劫持,并根据其产生的工件进行评分(出现一个文件、一个秘密被外传)。漏洞利用的效果在沙箱中真实运行;权限边界是模拟的 — 没有任何东西以真实 root 身份运行。

分级测试

首次运行教程之后,系统会询问你是否要参加分级测试以跳过前面的关卡。接受后,每个关卡运行 2 个问题,每题 30 秒,无手册页。答错一个,那就是你的起始关卡。

彩蛋

8 个隐藏成就。统计屏幕会显示你已找到多少个。

控制

按键操作
Enter提交答案
Tab切换手册页
Ctrl+d退出(会话摘要)
EscVi 普通模式
?所有按键绑定(普通模式)

数据

进度保存到 ${XDG_DATA_HOME:-~/.local/share}/cmdchamp/。

许可证

MIT

下载工具
rg
fd
grep
find
v
V
o
?
#名称重点
基础
1第一步pwd, ls, echo, cd, mkdir
2文件基础cp, mv
3保存你的工作>, >>, tee
4读取文件cat, head, tail, less
5基本管道pipes, grep, wc, sort, uniq
6输入与 Here-Strings<, <<<, tr, cut, rev, bc
7错误处理2>, 2>&1, &>, /dev/null
8逻辑门&&, ||
9变量$VAR, 赋值, 展开
10特殊变量$$, $?, $!, $#, $@, $0
11作业控制bg, fg, jobs, &, Ctrl+Z, nice, ulimit
12测试条件-f, -d, -z, -n, -eq, -lt
13核心文件工具cp, mv, ln, chmod, ACLs, du, tar, diff
14系统管理ping, df, free, ss, systemctl, ip, sysctl, lsblk, getent
15多路复用器tmux: 会话、窗口、窗格
16文本搜索grep, ripgrep, regex
17文件查找find, fd, 按名称/大小/时间/类型
18数据处理sort, uniq, cut, awk, tr, comm, join, numfmt
19字符串与数组参数展开, 数组
20控制流if/else, 循环, case, 函数
21批处理操作find -exec, xargs, sed -i, crontab
22高级正则lookahead, sed, awk
DevOps 与安全
23Git分支、远程、变基、暂存、bisect
24网络工具tshark, curl, jq, ssh 隧道, openssl, SMB, 一个实时 HTTP 端点
25网络扫描nmap, 服务检测, 脚本, 一个实时目标
26WiFi 与 RFaircrack-ng, netcat, tcpdump, 无线侦察
27哈希破解hashcat, john, hydra, 编码
28取证strings, readelf, binwalk, volatility, exiftool
29权限提升SUID, capabilities, GTFOBins, 枚举
30ROOT紧急恢复, chroot, 离线生存
#名称解锁条件步骤
1权限锁定L13 Boss6
2归档与解压L13 Boss6
3大海捞针L16 Boss7
4混乱的 CSVL18 Boss4
5事件L18 Boss5
6失败的部署L21 Boss7
7日志紧急情况L21 Boss5
8配置手术L21 Boss5
9Git 救援L23 Boss6
10批处理重构L21 Boss6
11取证清扫L22 Boss6
12通配符备份L29 Boss4
13PATH 劫持L29 Boss4