基于任务编排的漏扫实现(asm项目)

渗透技巧 1年前 (2022) admin
421 0 0

https://github.com/leveryd-asm/asm 实现了上周说的《基于任务编排玩一玩漏扫》,如果你是在资源有限的情况下做漏扫,或者想学一下k8s的运维使用,可以一键部署玩下这个项目。迎和我交流,我的微信是 happy_leveryd。下面向你介绍一下asm项目。

asm是什么?

提交爬扫任务 查看报警
基于任务编排的漏扫实现(asm项目) 基于任务编排的漏扫实现(asm项目)
提交POC扫描任务 查看任务状态
基于任务编排的漏扫实现(asm项目) 基于任务编排的漏扫实现(asm项目)

设计思路见 基于任务编排玩一玩漏扫

特点

?  开箱即用

内置五条工作流,只需要输入资产信息,就可以完成扫描任务

? 任务编排

基于argo-workflow提供功能丰富、稳定的任务编排能力

?  基于kubernetes

任务编排引擎基于kubernetes调度工作容器,因此很容易实现通过水平扩展提升扫描性能;通过kubesphere可以更好地观测、运维应用

? 管理控制台

向用户提供UI界面管理资产、运营漏洞;对于开发者来说,想要在控制台新增一个模板可以很快,常规的crud操作只需要通过配置选项就能完成模块的前后端开发

运维指南

在k8s集群中一键部署

  • 安装 kubesphere

kubesphere 可以用来管理k8s集群,并且提供了ingress controller

可以按照如下命令安装v3.3.1版本

kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.3.1/kubesphere-installer.yaml
kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.3.1/cluster-configuration.yaml

详细安装步骤参考 kubesphere

如果你不需要kubesphere,可以使用ingress-nginx作为ingress controller

  • 安装本项目

第一次安装,需要执行helm dependency build下载依赖。

执行如下命令会在asm命名空间中安装本项目

helm -n asm template ./helm | kubectl apply -n asm -f -

你也可以向helm传递参数来修改安装的配置,如下命令会使用manage.com作为域名访问控制台

helm -n asm template ./helm --set console_domain=manage.com  | kubectl apply -n asm -f -
  • 卸载本项目
helm -n asm template ./helm | kubectl delete -n asm -f -

用户指南

怎么访问asm控制台?

绑定域名到node节点后(域名默认是console.com),在kubesphere控制台上找到console ingress访问地址,如下图所示

基于任务编排的漏扫实现(asm项目)基于任务编排的漏扫实现(asm项目)

访问服务进入到asm控制台基于任务编排的漏扫实现(asm项目)

怎么对某个域名做漏洞扫描?

可以选择默认的nuclei扫描-保存结果模板,如下图所示。输入域名后,点击Submit按钮,等待扫描完成即可。

基于任务编排的漏扫实现(asm项目)

默认还有其他模板,可以针对二级域名(比如leveryd.top)做扫描,或者针对库中的二级域名列表做扫描。你可以根据自己的需求选择合适的模板。

怎么运营漏洞?

你可以在asm控制台上运营漏洞。

xray扫描的漏洞也会通过webhook推送到企业微信群。

需要你在安装本项目时有设置weixin_webhook_url参数,比如helm --set weixin_webhook_url=https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=07d4613c-45ef-46e2-9379-a7b2aade3132

怎么管理扫描任务?

你可以在控制台上管理扫描任务,具体办法如下。

浏览器输入 http://asm控制台地址/argo 地址,进入到argo界面,点击Submit Workflow按钮,选择一个模板后,创建一个扫描任务.

基于任务编排的漏扫实现(asm项目)

怎么管理任务模板?

你可以在控制台上管理任务模板 ,目前默认有五个工作流,功能分别是:

  • 从API获取兄弟域名-获取子域名-nuclei扫描-保存结果
  • 从API获取兄弟域名-获取子域名-katana爬虫-xray扫描-保存结果
  • 获取子域名-nuclei扫描-保存结果
  • 获取子域名-katana爬虫-xray扫描-保存结果
  • nuclei扫描-保存结果

子域名扫描用到oneforallsubfinder等工具。

当然你也可以定义自己的任务模板,可以参考helm/templates/argo目录下的模板文件。


原文始发于微信公众号(leveryd):基于任务编排的漏扫实现(asm项目)

版权声明:admin 发表于 2022年12月27日 下午11:26。
转载请注明:基于任务编排的漏扫实现(asm项目) | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...