Haaukins 是一个高度可访问且自动化的虚拟化平台,用于安全教育,它有三个主要组件(Docker、Virtualbox 和 Golang),组件之间的通信和编排通过 Go 编程语言进行管理。之所以使用 Go 环境来管理和部署 Haaukins 平台上的内容,是因为 Go 便捷的并发和并行机制。
我们的主要目标是吸引任何希望在网络安全领域学习夺旗(CTF)概念的人,这是一种广泛接受的方法,用于学习如何在系统中发现漏洞。尽管现有平台众多,但 Haaukins 通过一个专为发现漏洞而设计的操作系统,为您提供自己的虚拟化环境。
以下依赖项是必需的,并且必须单独安装才能在本地环境中运行守护进程 (daemon)。
客户端安装到您的环境无需前置条件。
注意:Linux 也可以在虚拟化环境中使用。
请通过文档站点 https://docs.haaukins.com 查看安装说明以及其他关联仓库和更多信息。
自版本 1.6.4 起,Haaukins 平台使用 go modules,因此管理依赖非常简单,只需运行 go mod download 即可。
请确保您位于 $GOPATH/src/github.com/aau-network-security/haaukins/ 目录下,要运行所有测试文件,可以使用以下命令:
go test -v --race ./...
Haaukins 平台在客户端和守护进程通信中使用 gRPC,因此在更新协议缓冲区规范(即 daemon/proto/daemon.proto)后,通过执行以下操作生成相应的 Golang 代码:
cd $GOPATH/src/github.com/aau-network-security/haaukins/daemon/
protoc -I proto/ proto/daemon.proto --go_out=plugins=grpc:proto
GoReleaser 处理发布部分,只需给提交打上标签即可。
Travis 自动部署到 server 上。
注意:默认情况下,脚本使用 ~/.ssh/id_rsa 密钥推送到 GitHub。
您可以通过 HKN_RELEASE_PEMFILE 环境变量覆盖此设置。
请稍候,查看 此处 的已知问题。
Haaukins 是一个开源项目,构建于其他开源项目之上。如果您感兴趣,欢迎贡献。
请查看 贡献指南 以开始。
作为 AAU,我们相信开源社区的力量,并乐于为组织和用户提供测试我们平台的机会。如果您希望获得由我们分配的专属域名,请提前联系我们。
版权所有 © 2019 至今, Haaukins