1. 项目定位与用途
hackingtool 是一个 All-in-One 的黑客工具集,专为安全研究人员和渗透测试人员设计,旨在提供一个统一的平台来管理、发现和使用大量安全工具。项目集成了 185+ 个工具,覆盖 20 个类别(如信息收集、Web 攻击、SQL 注入、无线攻击等),通过交互式终端界面实现高效操作。用户可以在一个界面中浏览、搜索、安装和运行各类安全工具,无需记忆复杂命令或手动处理依赖。主要用途包括渗透测试、安全评估、漏洞研究和红队演练,适用于需要频繁使用多种安全工具的专业人士和爱好者。
2. 核心问题与解决方案
hackingtool 解决了安全工具生态中的几个核心问题:一是工具分散,安全人员需从多个来源查找和获取工具;二是安装流程繁琐,不同工具有不同依赖和安装步骤;三是跨平台兼容性差,部分工具仅限特定操作系统。通过集中化管理界面,hackingtool 将工具分类展示,提供一键安装和状态检测;利用 OS-aware 菜单自动隐藏不兼容工具;并引入智能搜索(按 / 键)、标签过滤(按 t 键)和场景推荐(按 r 键)功能,帮助用户快速找到合适工具。此外,工具安装到用户目录避免权限问题,Docker 支持进一步简化环境配置。
3. 目标用户与适用场景
主要目标用户包括渗透测试人员、安全研究人员、红队成员和网络安全爱好者。适用场景涵盖:1) 渗透测试 engagements 中快速调用扫描、枚举、漏洞利用和后期 exploitation 工具;2) 安全研究时按特定目标(如云环境、移动应用)筛选工具集;3) 批量安装和更新大量工具,节省环境搭建时间;4) 在受限或隔离环境中通过 Docker 运行工具,避免污染主机;5) 学习和实验安全工具,通过交互式界面降低入门门槛。项目支持 Linux、Kali、Parrot 和 macOS,满足不同工作环境需求。
4. 安装与配置
hackingtool 的安装方式多样:首选一键安装脚本,在终端执行 curl -sSL https://raw.githubusercontent.com/Z4nzu/hackingtool/master/install.sh | sudo bash,脚本会自动检查系统依赖并安装必要组件;支持 Docker 部署,使用 Dockerfile 或 docker-compose.yml 构建本地镜像,避免使用未验证的外部镜像;也可手动克隆仓库后运行 hackingtool.py,但需确保 Python 3.10+ 环境并安装 rich 库(pip install -r requirements.txt)。工具默认安装到用户目录 ~/.hackingtool/tools/,无需 root 权限。系统依赖如 boxes、lolcat 等需通过 apt 或 brew 单独安装,具体列表见 install.py。
5. 交互式使用指南
运行 hackingtool.py 启动交互式主菜单,通过键盘快捷键操作:按 / 键打开搜索框,输入关键词可匹配工具名称、描述或标签;按 t 键进入标签过滤,从 19 个标签(如 osint、web、c2、cloud、mobile)中选择;按 r 键输入自然语言描述(如“我想扫描网络”)获取推荐工具列表;在分类菜单中按 97 批量安装该类别所有工具;按 99 返回上级菜单,? 显示帮助,q 退出程序。每个工具旁显示安装状态(✔/✘),并可选择“Open folder”直接进入工具目录。所有操作均通过 rich 库提供彩色输出和表格展示,体验统一。
6. 架构与实现特点
项目采用模块化架构:core.py 定义 HackingTool(工具元数据)和 HackingToolsCollection(分类集合)类;hackingtool.py 作为主入口,聚合所有工具集合并实现菜单循环;tools/ 目录包含 15 个模块,每个模块定义具体工具实例并注册到集合;tool_manager.py 处理工具安装、状态检测和更新逻辑(自动识别 git pull、pip upgrade 或 go install);os_detect.py 负责操作系统检测以过滤不兼容工具。README 由 generate_readme.py 动态生成,基于 README_template.md 和工具集合结构。整体设计注重可维护性,如修复了 os.chdir() 导致的安装路径错误,并移除所有 Python 2 代码以确保现代 Python 环境兼容。