Kubebot
一款基于谷歌云平台Kubernetes后端构建的安全测试Slackbot

注意:我不再积极维护此项目。我正在与其他人一起开发Kubebot v2,可能会在即将举行的安全会议上展示。
架构

演示
请观看此视频 - https://youtu.be/RKvtyU3CcZk
数据流
- 1 - 从Slackbot发起的API请求(工具、目标、选项),发送到API服务器,该服务器作为Docker容器运行在Kubernetes(K8s)集群上,并且可以扩展。
- 2 - API服务器将收到的请求作为消息投递到PubSub工具主题。
- 3 - 消息发布到工具订阅。
- 4 - 订阅工作者(作为Docker容器运行在K8s集群上)消费来自订阅的消息。这些工作者的数量也可以扩展。
- 5 - 根据最终用户收到的工具、目标和选项,在同一个K8s集群中启动相应的工具工作者(作为Docker容器)。结果临时存储在该容器的本地目录中。克隆该工具的Github目录。
- 6 - 检查生成的结果文件是否存在。如果不存在,则添加文件并将更改推送到Github。如果存在,则比较文件,将新文件推送到Github,并且仅将更改推送到下一步。
- 7 - 来自工具工作者的Webhook将更改发送回Slack。由于不再需要,工具工作者被删除。
PS - API服务器、订阅工作者和工具工作者的所有Docker镜像在部署到K8s集群之前,都会从该GCP账户的Google容器注册表中下载。
目前已集成的工具列表(此列表将随着添加更多工具而不断更新。工具文件夹中还有一些其他工具,但仍在开发中。)
目前已集成的自动化工作流列表(此列表将随着添加更多工作流而不断更新)
文件夹布局
- api - 包含Kubebot API服务器的所有代码。
- config - 包含部署Kubebot组件的配置文件。
- cronjobs - 包含一个示例部署(.yaml)文件,用于设置定时任务,以特定间隔运行特定工具,并通过Webhook将结果发送回Slack。
- docs - 文档
- imgs - 图片
- setup scripts - 用于设置Kubebot的一些脚本。
- subscriptionworker - 包含订阅工作者的代码。
- tools - Kubebot可以运行的所有工具。有些仍在开发中。
- utils - 工具文件夹。
- 一个名为
checkfile的工具容器,用于对github文件执行差异操作,以识别工具上次运行与最近一次运行之间的任何更改。此容器在每个工具容器之后运行。
- 一个名为
converttobq的工具,用于将工具中的数据转换为BigQuery可导入的格式。此工具在自动化工作流中使用,每个工具的结果存储在BQ中,以便其他工具使用。
- 一个名为
wfuzzbasicauthbrute的工具,用于对存储在BQ表中的端点的基本认证机制进行暴力破解,使用存储在另一个BQ表中的所有秘密。
- .env.sample - 将此文件重命名为
.env,并确保其中的值在您想要本地部署Kubebot时准确无误。
- Makefile - 用于构建Kubebot环境的makefile。
入门指南
- 先决条件 - 请确保满足所有这些先决条件。
- 本地运行Kubebot - 在远程运行之前,这是一个熟悉Kubebot的好起点。
- 集成您自己的工具 - 如果您想将自己的工具集成到Kubebot中,这非常容易!
- 待办事项 - 请帮助我改进Kubebot!
远程运行Kubebot - 一旦您确信Kubebot在本地(使用Minikube)按预期工作,并且现在想要释放它的全部潜力并在云端使用它,可以将其部署在Google Container Engine(GKE)集群上。但是,我还不能提供远程部署的说明。话虽如此,如果有兴趣,我会很乐意提供帮助。另外,如果您只想将Kubebot用作Slack应用而不关心后端基础设施,也可以安排,只需支付小额月度订阅费用,因为我将在个人GCP账户中托管后端,而您只需承担在云提供商上托管VPS的正常费用。请随时联系讨论这些选项。
演示视频
Slack中的示例斜杠命令
注意您如何可以运行一个斜杠命令,包含工具名称、选项和目标。我说“目标”是因为您可以运行一个斜杠命令来对一个工具使用一组选项针对多个目标。例如,下面的gitrob命令是针对test和abc运行的。
- /runtool nmap|-Pn -p 1-1000|google.com
- /runtool sublist3r|-t 50|test.com
- /runtool gobuster|-m dns -w fierce_hostlist.txt -t 10 -fw|google.com
PS - 可选择的词列表:
bitquark_20160227_subdomains_popular_1000000.txt
deepmagic.com_top500prefixes.txt
fierce_hostlist.txt
namelist.txt
names.txt
sorted_knock_dnsrecon_fierce_recon-ng.txt
subdomains-top1mil-110000.txt
变更日志
PS - 欢迎捐赠。Paypal邮箱 - anshuman dot bhartiya at gmail dot com