SamuraiWTF/samuraiwtf
GitHub: SamuraiWTF/samuraiwtf
SamuraiWTF 是一个面向网络安全培训的虚拟机框架,帮助讲师快速配置并分发包含安全工具和漏洞靶机的标准化训练环境。
Stars: 553 | Forks: 135
## Samurai Web 训练框架 6.0
本项目不是一个包含漏洞的应用程序。它是一个旨在快速配置训练虚拟机(包含工具和漏洞应用程序靶机)的框架。
例如,讲师可以使用 SamuraiWTF 轻松设置一个包含 ZAP 和 OWASP Juice Shop 的虚拟机镜像,然后将其分发给每位学生作为训练实验环境。
本项目包含并使用 [Samurai Katana][samurai-katana-url] 项目来管理虚拟环境中工具和靶机的安装与运行。
**参考实现**
目前,本项目的参考实现是基于 Ubuntu 22.04 构建的(请查看 ubuntu-22 子文件夹)。
**重要说明**
- 所有通过 Katana 安装的靶机都将配置在 `.test` 主域中
- 所有靶机将使用 8443 端口进行 HTTPS 连接
**想与我们交流?请加入 OWASP Slack 的 #project-samuraiwtf 频道。**
**想要贡献代码?请参阅 [here](#Contributors)**
**图片致谢:** 上方的武士形象是 Ben Faircloth 的原创作品,他已授权 OWASP SamuraiWTF 项目在产品和网站中使用。
## 如何设置 Samurai WTF
您有几种选择。最快的选择是下载预构建的虚拟机,然后使用 Katana(已安装)根据您想使用的靶机进行配置。
### 选项 1:下载预构建的 OVA(适用于 Oracle VirtualBox)
如果您使用的不是 Windows,或者使用的是未运行 Hyper-V 的 Windows,此选项效果最佳。
[Download SamuraiWTF for VirtualBox](https://downloads-samuraiwtf-com.s3.us-west-2.amazonaws.com/SamuraiWTF.ova)
* MD5: `1da174a13218ad60080d4666f305124d`
* SHA256: `92490a0f16584644ad681d94a3b144778fcb837a845a4f5f63d252e71d98ed4d`
有关移除或禁用 Hyper-V 的更多信息,请参阅 [these instructions from Microsoft](https://support.microsoft.com/en-us/help/3204980/virtualization-applications-do-not-work-together-with-hyper-v-device-g)。
### 选项 2:下载预构建的 VHDX(适用于 Hyper-V)
如果您运行的是 Windows 10 或更高版本,并且已经安装了 Hyper-V,此选项效果最佳。如果您使用 Windows Linux 子系统 (WLS),则说明您已安装 Hyper-V。
[Download SamuraiWTF for Hyper-V](https://downloads-samuraiwtf-com.s3.us-west-2.amazonaws.com/SamuraiWTF_HyperV.zip)
* MD5: `B7B406D70956574CE29A83344CD59E97`
* SHA256: `9FD30B272A20CD3CA1003BAC0CEB180D18202F0A448FCFDEB0EDE52CA65DDA74`
下载完成后,您需要解压文件,然后在 Hyper-V 中创建一个新的虚拟机。挂载 .vhdx 驱动器并将内存 (RAM) 设置为至少 4096。
### 选项 3:构建 Amazon Workspace(已弃用)
由于 AWS Workspaces 配置存在持续问题,此选项现已弃用。历史文档可在 [/amazon-linux/README.md](https://github.com/SamuraiWTF/samuraiwtf/blob/main/amazon-linux/README.md) 找到。
### 使用 Vagrant 在 Hyper-V 或 VirtualBox 上构建
目前,最稳定的 Vagrant 构建版本是针对 Ubuntu 22.04 的。详情请参阅文件 [/ubuntu-22/README.md](https://github.com/SamuraiWTF/samuraiwtf/blob/main/ubuntu-22/README.md)。
## 默认密码
SamuraiWTF 环境有一个默认用户和密码:`samurai` / `samurai`
除 AWS Workspace 外,所有构建版本均使用此密码;在 AWS Workspace 中,您将改用您的 workspace 用户名和密码。
## 根证书颁发机构
在构建过程中,SamuraiWTF 会生成一个本地根证书颁发机构 (CA),用于保护内部训练靶机的安全。为了正确模拟真实的渗透测试场景,您需要将此 CA 导入您的浏览器:
1. 根 CA 证书位于 `/opt/samurai/SamuraiWTF_Root_CA.crt`
2. 在 Firefox 中导入:
- 进入设置(或首选项)
- 搜索“证书”
- 点击“查看证书”
- 进入“机构”标签页
- 点击“导入”并选择根 CA 文件
- 勾选“信任此 CA 以标识网站”
⚠️ **安全警告**:此根 CA 应仅在 SamuraiWTF 虚拟机内用于训练的浏览器中被信任。切勿在虚拟机外部或用于常规网页浏览的浏览器中导入此证书,否则可能会损害您的浏览器安全。
## 实验室快速设置
登录环境后,您可以通过命令行或浏览器使用 katana 安装工具和靶机。
### 命令行
只需使用 `katana list` 命令查看可用的软件包,然后使用 `katana install
` 安装任意软件包。例如,要安装 ZAP 和 JuiceShop:
```
katana install zap
katana install juice-shop
katana start juice-shop
```
## Web 用户界面
通过浏览器访问 `https://katana.test` 即可查看 Web UI。
如果它未运行,您可能首先需要使用命令行安装并启动 katana。可以使用以下命令完成:
```
katana install katana
katana start katana
```
关于使用 Katana 的更详细说明,请参阅 [Samurai Katana][samurai-katana-url] GitHub 项目的 readme。
**重要提示**:请注意,Katana 以 root 权限运行,并不打算在安全或生产环境中运行。
## 开发
本仓库中的大部分开发工作都与更新基础盒子配置脚本和支持更多平台有关。
- 我们的集成分支名为 `next`。所有新功能和错误修复在计划发布前都会进入该分支进行测试。`main` 分支应始终保持稳定。
- 较大的更改应在单独的功能分支中进行。请确保将 `next` 合并到您的功能分支,然后再将功能分支 PR 合并回 `next`。
- 如果您弄坏了 `next` 或 `main`,请修复它(如有需要请寻求帮助)。在推送更改之前,最好运行一次完整的测试构建(即 `vagrant destroy`,`vagrant up`)并确保工具和靶机都能正常工作。
## 生产虚拟机说明:
加载虚拟机后,除非是 AWS Workspace 安装,否则用户名和密码为:
- 用户名:samurai
- 密码:samurai
菜单位于桌面的左上角。
登录后,有几件事可能需要手动调整。
## Virtualbox 显示
- 要自动调整显示分辨率,请执行以下操作:
- 选择 Virtualbox `菜单 -> 视图`
- 点击自动调整客户机显示大小
- 调整 Virtualbox 窗口大小,显示应随之改变以适应窗口大小。
- 或者:使用 `菜单 -> 视图 -> 虚拟屏幕 1` 菜单调整屏幕尺寸(例如调整为 1440x900;缩放至 200%)。
# 许可证
直接属于本项目的脚本和资源采用 GNU 宽通用公共许可证版本 3 (LGPLv3) 授权。
加载到虚拟机中的所有软件,包括工具、靶机、实用程序和操作系统本身,均保留其原始许可协议。
# 贡献者
非常欢迎贡献者,贡献流程是标准的:
* Fork 本项目
* 进行您的贡献
* 提交 Pull Request
重要或*常规*贡献者也可以成为正式团队成员。这包括那些对旧版 SamuraiWTF 做出过重大贡献并假设他们将继续这样做的人。
标签:AD攻击面, CTF, Cutter, GUI应用, Katana, Linux发行版, OWASP, SamuraiWTF, Ubuntu, Vagrant, Web安全, Web界面, ZAP, 培训平台, 安全基线, 安全工具集, 带宽管理, 教学环境, 教育, 渗透测试框架, 漏洞修复, 漏洞靶场, 特权提升, 网络安全培训, 自动化部署, 蓝队分析, 虚拟机镜像, 配置修复, 错误配置, 防御, 防御检测, 靶机