8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png
以Docker容器的形式运行openvas
aiyun 2020-5-13

一、操作目的和应用场景

大家好,我是彭瑞。

OpenVAS(Open Vulnerability Assessment System)是在nessus基础上发展起来的一个开源的漏洞扫描程序,其核心部件是一套漏洞测试程序,可以检测远程系统和应用程序中的安全问题。

一般来说,使用openvas可以有几种方法:一是使用安装了openvas的linux发行版,如parrotsec、backbox等,二是使用openvas官方制作的虚拟机,三是在linux系统中手动安装openvas,四是使用docker版本的openvas。其中最方便、效率最高的就是docker了,所以今天为大家介绍一下使用docker运行openvas进行漏洞扫描的方法。

二、平台及工具版本

host系统:linux mint

软件:docker、openvas

计算机硬件:小米笔记本电脑

三、操作步骤

(一)在linux mint系统中安装docker

apt install docker.io  //在线安装docker

systemctl start docker  //启动docker服务

systemctl enable docker  //设置开机自动启动

docker version  //查看docker版本

 可以正常显示版本信息,说明安装成功。

(二)下载和运行openvas的docker镜像

1、下载openvas镜像

docker search openvas  //在docker hub上搜索openvas镜像

第一个镜像是我们需要的。

docker pull mikesplain/openvas  //下载openvas镜像到本地

docker images | grep openvas  //查看本地的docker镜像

2、运行openvas镜像

docker run -d -p 443:443 –name openvas mikesplain/openvas

run命令装载docker镜像到内存,形成容器。

-d  //后台运行容器

-p  //将host的443端口映射到容器的443端口

–name  //给容器起个名字

镜像初次运行后,稍等几分钟再访问,因为openvas要进行NVT扫描和数据库构建。

docker ps  //查看正在运行的docker容器,可以看到openvas容器已经运行起来了

(三)使用openvas进行漏洞扫描

1、登录

浏览器打开openvas的操作界面:https://127.0.0.1

用户名/口令:admin/admin

2、创建扫描任务

下面创建简单的扫描任务,对metasploitable 2靶机进行漏洞扫描。

(1)创建扫描任务

Scans—Tasks

 点击左侧带有五角星的方框,点击弹出的“New Tasks”项:

Name:指定扫描名称,如扫描metasploitable 2

Comment:填写关于扫描任务的描述文字(可选)

Scan Targets:点击右侧五角星,弹出New Target表单,指定目标IP地址,填写完成后点击Create按钮提交:

其它的选项保持默认即可:

点击下方的Create按钮,创建扫描任务。

3、开始扫描

在任务列表中,点击右侧Actions中的Start按钮,开始扫描。

在靶机上抓包,可以看到openvas扫描所产生的流量:

4、下载扫描报告

点击Scans—Reports

点击左下角日期,例如点击“扫描metasploitable2靶机”任务对应的日期:

在Results页面,点击Report:Results文字左边的向下小箭头,选择报告的内容,如Report:Summary and Download。在页面下方有两种格式的报告,一种是完整报告(Full report),另一种是节选报告(filtered report),根据需要进行选择。点击右侧Download下面的下拉列表框,选择报告文件的格式,如PDF。点击右侧向下的小箭头,下载文档:

(四)管理容器

1、查看容器内运行的进程

docker top openvas

2、进入容器内的命令行

docker exec -it openvas bash

3、使用数据卷

将数据目录挂载到/var/lib/openvas/mgr/:

mkdir data

docker run -d -p 443:443 -v $(pwd)/data:/var/lib/openvas/mgr/ –name openvas mikesplain/openvas

注意,启动容器之前,本地目录必须存在。

4、设置管理员口令

通过修改环境变量OV_PASSWORD,在运行时指定admin口令:

docker run -d -p 443:443 -e OV_PASSWORD=securepassword41 –name openvas mikesplain/openvas

5、更新NVT

openvas使用漏洞特征进行扫描,因此需要定期更新特征库。

docker exec -it openvas bash  //进入容器,在容器中执行下面的命令

greenbone-nvt-sync

openvasmd –rebuild –progress

greenbone-certdata-sync

greenbone-scapdata-sync

openvasmd –update –verbose –progress

/etc/init.d/openvas-manager restart

/etc/init.d/openvas-scanner restart

6、停止容器

docker stop openvas

7、删除容器

不再需要容器了,可以将其删除。删除容器不会影响到镜像,使用前面运行镜像的命令可以创建新的容器。

docker ps –all  //查看全部容器,包括运行的和已停止的

docker rm openvas  //删除名为openvas的容器

(五)管理镜像

1、导出镜像

docker save -o openvas-image.tar mikesplain/openvas  //导出到当前目录,名为openvas-image.tar

2、导入镜像

docker load < openvas-image.tar

3、删除镜像

docker rmi mikesplain/openvas

//删除镜像时,不能存在由该镜像创建的容器

四、总结

我曾在乙方安全公司工作多年,在风险评估工作中常使用openvas进行漏洞扫描,它的扫描结果是令人满意的。希望今天的文章能给大家的工作带来帮助。也欢迎大家关注我的微信公众号“新蜂网络安全实验室”。

转载至freebuf网站:freebuf

最新回复 (0)
    • Ai云
      2
        立即登录 立即注册
返回