重新制作 Linux Live CD 镜像,用于创建开箱即用的安全攻防演练环境(wargames),其中预装了可供利用的漏洞。
要使用本项目中的脚本构建 Live CD,你需要准备以下内容:
sudo 的 root 权限gitmake、gcc —— 用于构建易受攻击的程序pwgen —— 用于生成随机密码rsyncgenisoimage —— 用于 mkisofsadvancecomp —— 用于 advdefsquashfs-tools —— 用于 unsquashfscurl —— 用于下载软件包和其他文件基础 Live CD 是 32 位的,因此其中的 C 程序也必须以 32 位方式构建。为此,你需要安装 32 位开发库。例如在 Debian 中,对应的软件包名为 libc6-dev-i386。
构建 CD 有多种方式可选:
选择最适合你的方式即可。
要获取所有必要文件,包括 8MB 的 TinyCore 基础镜像、黑客竞赛数据以及所有必需的 TinyCore 软件包,并重新制作 CD:
./scripts/rebuild.sh
注意:部分步骤需要运行 sudo,因此系统会提示你输入密码一次或多次。
这种构建方法的思想是:先创建基础的 CD 数据,但在重建镜像之前停下来,以便你可以先进行自定义。
构建基础 CD 数据:
./scripts/build.sh
注意:部分步骤需要运行 sudo,因此系统会提示你输入密码一次或多次。
自定义 extract 目录中的内容。这一步完全取决于你想要自定义的内容。你可能会想安装一些自定义软件包,例如非美式键盘的键位映射:
sudo ./scripts/install-tcz.sh kmaps
创建最终的 ISO:
sudo ./scripts/pack-iso.sh
这些挑战题基于由 Stripe 组织的原始在线竞赛: https://stripe.com/blog/capture-the-flag
参见 http://janosgyerik.github.com/capture-the-flag/

本项目有意不提供题解。你可以在互联网上找到原始 Stripe 挑战的题解,但如果它们无法在这个 Live CD 上开箱即用,请不要感到意外。这也是有意为之的 ;-)
请自行保管好你自己的题解,不要公开。
如果你想在 live 系统中获得 root 权限,可以执行 su - tc 切换为管理员用户,或者使用 mc superuser 启动选项引导系统。这算不上什么秘密,而且这样做你学不到任何东西。