以Docker容器的形式运行GVM-11

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

 

(一)在ubuntu 18系统中安装docker

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

systemctl start docker  //启动docker服务

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

 docker version  //查看docker版本

 

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

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

1、下载GVM 11的docker镜像

docker search gvm

 

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

docker pull securecompliance/gvm  //将镜像pull到本地

 

 docker images  //查看本地的docker镜像

 

 2、运行GVM 11镜像

docker run -d -p 8080:9392 --name=gvm securecompliance/gvm

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

-d  //后台运行容器

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

--name  //给容器起个名字

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

 

 docker logs gvm  //查看工作状态

 

 

若看到“our GVM 11 container is now ready to use!”,就可以使用了。(时间较长,请耐心等待)

 

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

1、登录

浏览器打开GVM的控制台界面:

http://192.168.103.103:8080/login

 

 

用户名/口令:admin/admin,点击login按钮登录

 2、创建扫描任务

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

(1)创建扫描任务

Scans—Tasks

 

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

 

 

在“New task”窗口,填写下面的信息:

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

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

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

 

 

其它的选项保持默认即可,也可以按照下图中的文字选择:

 

 

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

3、开始扫描

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

 

 4、下载扫描报告

点击Scans—Reports

 

 点击左上角一排小图标中的向下小箭头,弹出“Component Content for Scan Report”表单。选择报告类型,如PDF:

 

点击OK按钮,下载漏洞扫描报告。

报告中对某漏洞的描述:

 

 6、更新NVT

重启GVM容器即可更新NVT特征库,无需单独运行命令。

 

(四)管理容器

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

docker top gvm

 

 

2、进入容器内的命令行

docker exec -it gvm bash

 

在docker进行内修改时区

ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 

 

3、设置admin(管理员)口令和时区

默认时区是UTC时区,很恶心。

点击右上角的个人中心->my settings->编辑

 

timezone改成Asia/Shanghai 点击右下角save保存更改

 

 

5、停止容器

docker stop gvm

 

 

6、删除容器

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

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

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

 

(五)管理镜像

1、导出镜像

docker save -o gvm-11-image.tar securecompliance/gvm  //将镜像导出到当前目录,名为gvm-11-image.tar

 

 

2、删除镜像

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

 

 

3、导入镜像

docker load < gvm-11-image.tar  //导入镜像

 

 

注意事项

GVM-11容器启动后默认不像OpenVAS那样监听本地环回地址,而是监听物理网卡地址。这样即提供了远程访问功能。因此应使用防火墙对访问GVM的源地址进行限制:

iptables -A INPUT -p tcp -s 192.168.1.100 –dport 8080 -j ACCEPT  //允许192.168.1.100访问本地的GVM控制台

iptables -A INPUT -p tcp –dport 8080 -j REJECT  //拒绝访问本地8080端口

 

2022年3月28日 更新

使用最新版本gvm默认未启用pdf格式下载,可以使用docker run --detach --publish 8080:9392 --env OPT_PDF="1" --name gvm securecompliance/gvm 添加参数执行

或者进入docker内部把/etc/apk/repositories里的域名成替换阿里云源mirrors.aliyun.com,这种方法要比上面的速度快很多。因为国外源下载很慢。

apk add --no-cache --allow-untrusted texlive texmf-dist-latexextra texmf-dist-fontsextra 
apk add texmf-dist-latexextra 

  

posted @ 2020-06-10 19:17  一起走过的路  阅读(3592)  评论(0编辑  收藏  举报