Gauntlt:安全测试的革新框架
Gauntlt 是一款专为开发者、运维和安全人员设计的安全测试框架,旨在让安全测试变得更加实用且易于集成到您的工作流程中。
项目状态与社区参与
在 2018 年,Gauntlt 进行了重启,正在积极构建一个实践社区。欢迎加入 Gauntlt Slack 频道,无论您是 Ruby 开发者还是安全专家,或是有 Gauntlt 使用经验的用户,我们都需要您的反馈和贡献。您可以在此处提出问题,分享经验和探讨新功能。
此外,Gauntlt 也欢迎任何形式的反馈和贡献。如有问题,请通过 GitHub 提交问题,或关注我们的 Twitter 账号:@gauntlt。
快速入门
如果您想尝试 Gauntlt,推荐使用 gauntlt-docker,其中包含了 Gauntlt 及一些攻击工具的 Docker 容器。新手也可以参考 gauntlt-starter-kit,这是最简单快捷的起步方式。
在 Kali Linux 2.0、Debian Jessie、Ubuntu 14.04 或 Ubuntu 15.10 系统上,只需执行以下命令:
git clone https://github.com/gauntlt/gauntlt
cd gauntlt
source ./install_gauntlt_deps.sh
bash ./ready_to_rumble.sh
gauntlt
为了安装 Gauntlt,需要 Ruby 2.1.0 及以上版本。首先安装 gem:
$ gem install gauntlt
接着创建攻击文件,并将其放在任意位置:
# simplest.attack
Feature: simplest attack possible
Scenario:
When I launch a "generic" attack with:
"""
ls -a
"""
Then the output should contain:
"""
.
"""
运行 Gauntlt 执行攻击:
$ gauntlt
攻击适配器
Gauntlt 支持多种攻击工具的适配器,包括:
- Arachni
- Curl
- Dirb
- Garmr
- Heartbleed
- Nmap
- Sqlmap
- Sslyze
只需先单独安装这些工具,然后就可以通过 Gauntlt 运行它们。如果工具未安装或找不到,Gauntlt 将提供帮助信息指导您进行安装配置。
攻击文件
使用 Gauntlt 的前提是有至少一个攻击文件。攻击文件以 Gherkin 语法编写,扩展名为 .attack
,类似 Cucumber 特性文件。Gherkin 语法可参考 Cucumber。但 Gauntlt 的目的是提供预定义的步骤,用于安全和耐用性测试,因此无需自定义步骤定义,这与 Cucumber 目标有所不同。
示例攻击文件结构如下:
# my.attack
Feature: Description for all scenarios in this file
Scenario: Description of this scenario
Given ...
When ...
Then ...
Scenario: ...
Given ...
When ...
Then ...
你可以根据需要创建多个场景和多个攻击文件。
开发者指南
对于开发者,我们建议使用 ruby 2.3.4
进行开发。首先克隆仓库并获取子模块,安装 bundler 和依赖项,然后运行 cucumber 特性和 rspec 示例:
$ git clone --recursive git://github.com/gauntlt/gauntlt.git
$ cd gauntlt && gem install bundler
$ bundle
$ bundle exec rake
$ bin/gauntlt attack
未来计划
Gauntlt 正在发展新的特性,欢迎您加入 Slack 社区获取更多信息。我们非常重视用户的反馈和bug报告,致力于保持简洁、易用和可扩展的设计理念。
许可证
Gauntlt 使用 MIT 许可证,详情见仓库中的 LICENSE 文件或访问 gauntlt.mit-license.org。
这是一款强大的开源项目,不仅适用于安全团队,也能无缝融入开发和运维的工作流中。现在就来加入 Gauntlt 社区,共同推动安全测试的发展吧!