以前搭建过好几次xunfeng,也看过几次他的源码,最近团队准备做巡风的二次开发,就要再好好看下他的源码了,我们知道巡风主要有两个功能,资产发现和漏洞扫描,我主要负责漏洞扫描这块,就先简单记录下这块的大致流程
一:看源码tip
看源码,第一步看他的启动程序,可以看run.sh,巡风的启动程序主要就五块
mongodb启动:这里mongodb可以直接用二进制文件启动,导入导出,默认启动在本地的65521端口
web.py启动:flask启动网页
Nascan: 资产扫描
Vulscan:漏洞扫描
Aider:辅助模块,还不了解
二: vulscan流程
就上个我看源码的时候画的图吧
总的来说,其实巡风源码还是很简单的,过程看上图就可以,就讲下我自己对巡风的感觉
1: 巡风的资产扫描和漏洞扫描都是基于数据库中特定字段的改变,会有心跳线程,就是上面的monitor(),不断的去检查数据库中字段。用户在页面上的操作,都是先改变数据库内容而已。所以比如开启某个漏扫任务,可能没法马上开始
2: 从数据库字段中可以看到,原来团队应该打算跟定时周期扫描资产一样,做一个定时周期扫描漏洞的功能,在页面上没有这个功能,接下来我这边会加一下这个功能
想想好像源码也没啥好说的。。还是比较简单的