您的位置:首页 > 运维架构 > Docker

IVRE扫描框架的docker部署

2020-08-16 09:44 1601 查看

20200816 -

0. 引言

之前的时候,想弄一个类似shodan、fofa一样的扫描框架,然后在google上进行搜索,找到了ivre这个框架。但是在部署过程中,稍微有些不一致,这里记录一下。

本着方便的原则,这里利用docker来进行部署。

1. IVRE的docker化部署

1.1 IVRE

IVRE是一款开源的扫描框架,其通过namp或其他扫描工具生成相应的结果,利用WEB界面对结果进行展示,并可以实现过滤,同时能够进行一些分析。其支持主动扫描,也支持被动监视。

Web界面的结果就是将nmap的结果进行完全展示。

1.2 部署过程

网上能搜到的部署教程挺多,其中docker化部署的,我主要参考了这篇文章[2]。大致上按照他的思路,进行了部署,但最后始终出现不了解过,虽然我已经在mongo数据库中找到了相应的数据。最后是按照官网文档[3]上的命令实现了结果展示。下面来具体说明以下部署过程。

1.2.1 docker拉取镜像

在dockerhub官网上,有多个镜像,包括db、base、agent等,其中bas镜像是client和web镜像的基础。而agent虽然下载了,但是我感觉好像是可以不用下载。
总之本次部署中,拉取镜像的命令如下:

docker pull ivre/agent
docker pull ivre/base
docker pull ivre/client
docker pull ivre/db
docker pull ivre/web

1.2.2 docker启动容器

(我不知道他是不是支持docker-compose部署,暂时没有看到,利用docker-compose部署的话,应该会更方便)
本次部署中,主要是尝试如何部署,没有将数据持久化,如果想持久化的话,可以参照[3]修改命令。

1)启动db容器
数据库容器是必须第一个启动的,因为其他的几个镜像都必须获取到数据库的地址。

docker run -it -d --name ivredb ivre/db

默认情况下不用映射端口,如果想从外部访问mongo数据库,可以添加

-p 12306:27017
,将12306端口开放。
2)启动web容器

docker run -it -d --name ivreweb --link ivredb -p 10034:80 ivre/web

映射10034端口到80端口。
3)启动客户端

docker run -it --name ivreclient --link ivredb ivre/client

客户端容器启动后,就会进入该容器,按照以下命令进行数据库等内容的初始化。

root@ivreclient:/# yes | ivre ipinfo --init
root@ivreclient:/# yes | ivre scancli --init
root@ivreclient:/# yes | ivre view --init
root@ivreclient:/# yes | ivre flowcli --init
root@ivreclient:/# yes | ivre runscansagentdb --init
root@ivreclient:/# ivre ipdata --download

最后一个命令,是下载geo的ip库的内容,但是这个命令已经不行了,因为实际上的网址的资源已经失效了。所以最后一个命令可以不写,导致的结果就是后面按照国家,或者按照一些网段的就不好使了,这里先不深究,后续可以看看源码之后再说。
开启扫描任务,为了实验整个框架是否已经部署成功,可以先扫描一些结果。

ivre runscans --range 192.168.1.1 192.168.1.20 --output=XMLFork

上述命令是按照ip范围来进行扫描,当然也可以按照网段来扫描。

ivre runscans --network 192.168.1.1/24 --output=XMLFork

执行上述命令之后,会在当前路径下生成一个扫描结果的文件夹,一直cd下去,到了某层路径会发现一个up文件夹,然后里利用命令将这部分内容导入数据库即可,命令如下:

ivre scan2db -r -s MySource -C MyCategory /path/to/results/up/*

输出会有导入成功的显示,多次导入并不会多次成功,个人认为是做了验证。

此时,按照其他网站网站的教程,刷新web界面就可以看到相应的展示结果了,但是实际情况是并看不到。按照其官网的说法,还需要执行下面的命令。

ivre db2view nmap

这样之后刷新界面就可以看到相应的结果了。

1.2.3 nmap扫描过程太慢

我在扫描测试中,发现了一个问题,那就是nmap扫描特别慢。一方面原因是网络问题,另一方面应该是超时的时间限制问题,因为之前看到有一个博客[4]分析nmap命令行的时候,他的host显示超时是15m,这个时间就太长了。同时,我看到他在扫描web的时候,还会进到多层路径,如果本身这个延迟就比较大,这样之后就更大了。所以应该定制以下namp的扫描内容再说,我看他使用了一些nmap的脚本。

参考

[1]IVRE
[2]Visualizing Scans Part 1: IVRE
[3]Docker
[4]强大的开源网络侦查工具:IVRE

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: