Sh00t 是一个高可定制的渗透测试管理工具, 它强调让测试人员手动进行安全测试, 并让你专注于执行安全测试任务的本身. 此外, Sh00t 还为我们提供了测试用例的待办事项清单, 以及可以使用自定义的漏洞报告模板来生成漏洞报告.
特性
动态任务管理器替换简单的编辑器或任务管理工具
自动化, 可定制的安全测试用例清单, 用于替换 Evernote,OneNote 或其他工具
管理用于不同目的的自定义 bug 模板并自动生成漏洞报告
支持多个评估和项目, 以逻辑分离你的不同需求
所有操作都将自动被保存
将自动生成的漏洞报告导出到 Markdown, 并提交 HackerOne!
集成 JIRA,ServiceNow 集 - 即将推出
将漏洞报告导出到 Markdown - 即将推出
高可定制性
安装
Sh00t 安装需要 Python 3 以及一些额外的软件包. 设置 Sh00t 的最简单方法是使用 Conda 环境. 但是, 如果你安装了 Python 3 和 pip,Anaconda 是可选的 - 你可以跳到下面的第 4 步.
一次性设置
1. 安装最小的 conda 安装环境 Miniconda https://conda.io/miniconda.html , 并按照 安装说明 进行操作. 安装完成后你需要重新加载 bash 配置文件, 或重启终端以使 conda 命令生效. 对于 Windows, 启动 Anaconda Prompt 并在该窗口中运行以下所有命令.
2. 创建一个新的 Python 3 环境: conda create -n sh00t python=3.6
3. 激活 sh00t 环境: conda activate sh00t. 如果你看到类似 CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'的错误消息, 则你必须手动启用 conda 命令. 按照显示的说明和错误消息进行操作. 你可能需要重新加载 bash 配置文件或重启终端. 尝试再次激活 sh00t:conda activate sh00t. 这次你应该可以在终端中看到(sh00t) XXXX$.
4. 克隆或下载该项目的最新版本到你指定的位置: https://github.com/pavanw3b/sh00t .Git clone 需要安装 Git.
5. 解压缩 sh00t 文件夹: cd sh00t. 注意, 这是项目文件中最外层的 sh00t 目录而不是 sh00t/sh00t.
6. 安装 Sh00t 依赖包: pip install -r requirements.txt
7. 设置数据库: python manage.py migrate
8. 创建用户帐户: python manage.py createsuperuser 并按照 UI 创建帐户.
9. 可选但推荐: 来自 OWASP 测试指南 (OTG) 和 web 应用程序黑客手册 (WAHH) 的 Avail 174 安全测试用例: python reset.py.
启动 Sh00t:
如果你的计算机上已安装了 Python 3, 则可以直接跳转到第 3 步.
1. 如果是 Linux/Mac, 则打开终端. 如果是 Windows, 则打开 Anaconda Prompt.
2. 如还未激活 sh00t 环境: conda activate sh00t
3. 如果不在 sh00t 目录下, 请则导航到该目录: cd sh00t
4. 启动 Sh00t server:python manage.py runserver
5. 在你习惯的浏览器上访问 http://127.0.0.1:8000/ . 使用之前在设置中创建的用户凭据登录.
6. 欢迎来到 Sh00t!
7. 完成后, 停止服务: Ctrl + C
8.(可选)关闭 sh00t 环境以继续其他工作任务: conda deactivate.
更新升级:
导航到克隆 sh00t 的文件夹: cd sh00t
如果服务正在运行, 请停止服务: Ctrl + C
Git pull 最新的代码库, 或从 GitHub 下载源码并替换文件.
如果未激活 sh00t 环境: conda activate sh00t
设置依赖项: pip install -r requirements.txt
迁移最新数据库更改: python manage.py migrate
启动 server:python manage.py runserver
关于错误:
Sh00t 是 Python 编写的, 并由 Django Web Framework 提供支持. 如果出现任何错误问题, 你可以通过谷歌搜索错误信息, 在大多数情况下能解决你的问题. 如果还是无法解决, 那么你也可以通过 GitHub issue https://github.com/pavanw3b/sh00t/issues/new 反馈问题.
名词解释:
Flag:Flag 就是一个标记的目标, 即需要进行测试的测试用例. Flag 是根据所选的测试方法自动生成的, 其包含了测试的详细步骤. 如果漏洞被确认, 那么我们则称它为 sh0t.
Sh0t:Sh0ts 即漏洞. 通常, Sh0t 会包含漏洞的技术说明, 受影响的文件 / URL 重现及修复建议. Sh0t 的大部分内容都是一键生成的, 只有像 "受影响的参数","步骤" 这样的动态内容才能更改.
Assessment: 评估, 即测试评估. 它可以是对一个应用或一个项目的评估 - 取决于用户想要管理的方式, 是 Project 的一部分.
Project: 项目包含评估. 项目可以逻辑分离你的工作. 它可以是不同的工作, 漏洞赏金, 一切由你决定.
它是如何工作的?
首先创建一个新的评估. 选择你要测试的方法. 当前有 330 个测试用例, 分为 86 个 Flags, 属于 13 个 Modules, 这些 Modules 是根据 "Web 应用程序黑客手册" 测试方法创建的. Modules 和 Flags 可以手动选择和定制. 使用 Flags 创建评估后, 现在测试人员必须手动来测试它们, 或者在扫描器, 工具的帮助下进行半自动化测试, 在完成后将其标记为 "Done". 在执行评估时, 我们通常会提供特定于应用程序中某些场景的自定义测试用例. 可以在任何时间点轻松创建一个新的 Flag.
每当确认一个 Flag 为有效 bug 时, 就会创建一个 Sh0t. 可以选择最匹配的 bug 模板, sh00t 将根据所选模板自动填充漏洞报告.
相关截图
仪表盘:
Flags:
在创建新评估时选择方法及测试用例:
漏洞报告模板:
Sh00t 适用人群
应用程序安全工程师: 渗透测试和漏洞评估
Bug 赏金猎人
独立安全研究人员
蓝队, 开发人员漏洞修复
任何的网络安全爱好者或从业人员
来源: http://www.tuicool.com/articles/RjYjii2