E-Scan

将本扫描平台命名为E-Scan

平台搭建背景

需求

进行网络安全扫描,和对文件系统进行杀毒扫描一样,杀毒扫描需要病毒特征库,网络安全扫描需要漏洞攻击库,而且这些库都在各自更新,除了可以自由使用的版本,有的还有昂贵的商业版本。因此,仅用一款扫描工具是不够的,要尽量多找不同的工具、使用不同来源的漏洞攻击库。因此,需要建立一个综合各种扫描工具、支持多种漏洞攻击库的集成系统,服务于生产,也可以服务教学需求。

目标

基本的期望形式是:
1、一个docker容器(save或export)导出的镜像包格式,这样便于发行、部署和使用;
2、有个Web界面;
3、有n个分类的、m个扫描器,可以组合使用,一键扫描;
4、功能或特性等方面:

  • 能扫描网站,也能扫描操作系统;
  • 能扫windows,也能扫linux;
  • 能黑盒模式,也能白盒模式扫描;
  • 能更新扫描库

5、能出具关于扫描结果的综合性中文版本的报告。不要仅仅提供每个工具各自单独的扫描报告,那种看不懂;
6、给出安全改进建议;

扫描平台初步搭建(一)

开发框架

前端界面采用vue架构,后端采用springboot架构

开发设想

目前仅仅接触nmap,所以制作了一个有关nmap的在线扫描平台,后期会渐渐根据自己的使用情况逐渐增加工具并进行整合
初步设想是,用户在前端输入命令,后端在系统环境中执行命令,但听闻还有一种agent的高大上技术,后期会去了解

前端搭建

本次前端也是第一次采用vue架构,之前有了解过,但感觉这个上手可能不是太容易,但经过短时间学习和有过小程序开发经验后,基本的用法还是比较好掌握的,最重要的特点就是组件化,感觉vue是一层一层嵌套的,像最外层就是index.html来封装的,具体细节不做过多介绍,坑挺多,不过挺好用的(结合element-ui)
得开发结束后会将代码传至github
下面是界面展示:

  • 首页
    首页
  • 扫描页
    扫描页
  • 日志页
    日志页
  • 详细日志页
    详细日志页
    详细日志页使用的是nmap的模板生成的html界面

后台搭建

后台用的是自己比较熟悉的springboot,也没啥好说的
目前数据库只有两张表user和command,结构如下

  • user
    user
  • command
    command

但是由于没有搞懂springboot下的thymeleaf怎样更改到工程外文件路径,所以采用了一种简单的方式,让扫描生成的html文件能被访问到:
python -m SimpleHTTPServer 8081

后期展望

目前先将架子建设完毕,然后测试各开源扫描工具,进行介绍与集成