这是一系列设置脚本的集合,用于创建各种安全研究工具的安装。当然,这不是一个难题,但将它们集中在一个易于部署到新机器等地方,确实非常方便。这些工具的安装脚本会定期检查,因此希望它们有不错的成功率!
包含以下工具的安装程序:
还有一些用于非CTF内容的安装程序,以打破单调!
| 类别 | 工具 | 描述 |
|---|
| game | df | 矮人要塞!帮助你在CTF后放松的工具! |
用法
要使用,请执行:```bash
set up the path
/path/to/ctf-tools/bin/manage-tools setup
source ~/.bashrc
manage-tools list
install gdb, allowing it to try to sudo install dependencies
manage-tools -s install gdb
manage-tools install pwntools
manage-tools -n install qemu
uninstall gdb
manage-tools uninstall gdb
manage-tools uninstall all
manage-tools search preload
在可能的情况下,这些工具会使其安装非常自包含(即在 `tool/` 目录中),而且大多数卸载操作只是调用 `git clean`(**注意**,这**并不**谨慎;工具目录下的所有内容,包括你正在处理的工作,都会在卸载时被清除)。
Python 和 Ruby 工具会被安装在特定于工具虚拟环境中。
如果你想向该环境中添加其他包,请查看 `ctf-tools/TOOL/pipx` 或 `ctf-tools/TOOL/gems` 目录。
## 帮助!
有什么不工作吗?
我(几乎)没有编写这些工具中的任何一个,但如果情况紧急,可以前往 [discord](https://discord.gg/KRcjyn4pBH)。
也许有好心人愿意帮忙!
## Docker 化工具
### 预构建工具容器
你可以从 [https://hub.docker.com/r/ctftools](https://github.com/zardus/ctf-tools/blob/master/dockerhub) 获取大多数这些工具的预构建容器。
例如:```console
$ echo hi | docker run -i ctftools/taintgrind taintgrind --taint-stdin=yes /bin/cat
/home/ctf/tools/taintgrind/valgrind-3.21.0/build/bin/valgrind --tool=taintgrind --taint-stdin=yes /bin/cat
==8== Taintgrind, the taint analysis tool
==8== Copyright (C) 2010-2018, and GNU GPL'd, by Wei Ming Khoo.
==8== Using Valgrind-3.21.0 and LibVEX; rerun with -h for copyright info
==8== Command: /bin/cat
==8==
0xFFFFFFFF: _syscall_read | Read:3 | 0x0 | 4a5a000_unknownobj
hi
==8==
构建你自己的
你可以使用以下命令构建一个 Docker 镜像:```bash
git clone https://github.com/zardus/ctf-tools
cd ctf-tools
docker build -t ctf-tools --build-arg PREINSTALLED=some-tool .
并使用以下命令运行它:```bash
docker run -it ctf-tools
构建的镜像将包含已克隆并准备就绪的 ctf-tools 以及您安装的工具。
Kali Linux
Kali Linux(Sana 和 Rolling 版本),由于手动设置某些库不使用最新可用版本(有时会落后数年),导致某些工具根本无法安装,或者以奇怪的方式失败。
覆盖这些库会破坏 Kali 中包含的其他工具,因此您唯一的解决方案是:要么忍受某些 Kali 工具被破坏,要么使用 Docker,要么另外运行其他发行版,例如 Ubuntu。
要添加一个工具(例如,名为 toolname),请执行以下操作:
- 创建一个
toolname 目录。
- 创建一个
install 脚本。
- 将其添加到 README 中。
- (可选)如果需要特殊的卸载步骤,请创建一个
uninstall 脚本。
Install Scripts
安装脚本将以 $PWD 为 toolname 的方式运行。它应尽可能以自包含的方式将工具安装到此目录中。
理想情况下,应可通过 git clean 实现完全卸载。
安装脚本应创建一个 bin 目录,并将其可执行文件放入其中。
这些可执行文件将自动链接到仓库的主 bin 目录中。
它们可以从任何目录启动,因此不要对 $0 的位置做任何假设!
License
各个工具均使用其自己的许可证进行许可。
至于 ctf-tools 本身,它采用 BSD 2-Clause 许可证进行许可。
如果您觉得它有用,请在 GitHub 上给它加星标 (https://github.com/zardus/ctf-tools)。
祝您好运!
See Also
这里有一个精选的 CTF 工具列表,但没有安装程序:https://github.com/apsdehal/aWEsoMe-cTf。
这里有一个包含许多大型框架的 Vagrant 配置:https://github.com/thebarbershopper/epictreasure。
随着工具被正式打包,我们转而仅建议您使用 apt 安装它们!
以前,此仓库包含一些包装了 docker pull 的脚本。
我们相信您可以自行完成 :-)
| 类别 | 来源 | 工具 | 描述 |
|---|
| 二进制 | docker | panda | 架构无关的动态分析平台。 |
| 隐写 |
Useful CTF Libraries
以前,此仓库包含库安装程序。
由于库的安装偏好非常定制化(例如,与工具不同,每个库是否需要虚拟环境并不明确),我们已停止提供它们,并在此处链接以供后续参考。