• 1
  • 2
  • 3
  • 4
  • 5
阿里云应用开发 首 页  »  帮助中心  »  云服务器  »  阿里云应用开发
通过Docker搭建开源版IVRE
发布日期:2016-7-8 15:7:55

  1 引言

  1.1 编写目的

  本文主要介绍开源IVRE项目的安装、部署和配置。目的是提供给IVRE项目学习、研究人员,利于他们更快的搭建和部署IVRE。

  1.2 背景

  IVRE(又名DRUNK)是一款网络侦查框架,包括两个基于p0f和Bro的被动侦查模块和一个基于Nmap&Zmap的主动侦查模块,其功能类似于国内知道创宇公司推出的一款网络空间搜索引擎ZoomEye(钟馗之眼)。

  1.3 定义

  Docker:一个开源的应用容器引擎,让开发者可以打包他们的应用及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没性能开销,可很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。

  

  1.4 参考资料

  安装Docker:

  http://www.cnblogs.com/MicroTeam/p/see-docker-run-in-debian-with-aliyun-ecs.html

  IVRE官方网站:

  https://ivre.rocks/

  GitHub

  https://github.com/cea-sec/ivre

  2 系统配置

  2.1 运行环境

  Ubuntu Server 14.4 64位

  Docker

  IVRE

  2.2 系统依赖

  Python 2, version 2.6 minimum

  the Crypto module

  the pymongo module, version 2.7.2 minimum.

  Nmap & ZMap

  Bro & p0f

  MongoDB, version 2.6 minimum

  web服务器(在Apache、Nginx下测试通过)

  web浏览器(在FireFox和Chromum下测试通过)

  Maxmind GeoIP免费数据库

  Tesseract(可选,可对Nmap扫描结果增加快照)

  Docker & Vagrant (version 1.6 minimum,可选)

  2.3 前端组件

  AngularJS

  Twitter Bootstrap

  jQuery

  D3.js

  flag-icon-css

  Passive recon

  2.4 系统安装部署图

  

  2.5 系统硬件配置

  测试机配置:

  CPU:Intel至强E5400系列CPU*2

  内存:4G 1333MHz

  硬盘:100GB

  2.6 系统应用服务器软件安装与配置

  Linux服务器(如阿里云服务器)安装步骤(略)

  注意:内核版本如果低于 3.8,就要升级内核,参考方法如下

  http://docs.docker.com/installation/debian/

  查看linux内核命令:

  uname –a

  3 程序部署

  3.1 安装Docker

  快速安装Docker方法有2种:

  第一种方法:(推荐使用)

  sudo wget -qO- https://get.docker.com/ | sh

  第二种方法:

  sudo curl -sSL https://get.docker.com/ | sh

  3.1.1 验证Docker安装是否成功(可忽略)

  运行 hello world:

  sudo docker run hello-world

  若前面步骤都没有问题的话,能看到 hello-world 启动了。

  Hello from Docker.

  This message shows that your installation appears to be working correctly.

  3.1.2 把非管理员用户添加到docker组

  sudo useradd -G docker 登陆系统用户名

  3.2 安装Vagrant

  安装IVRE方法有2种:

  第一种方法:(推荐使用)

  wget https://releases.hashicorp.com/vagrant/1.7.4/vagrant_1.7.4_x86_64.deb

  sudo dpkg -i vagrant_1.7.4_x86_64.deb

  第二种方法:

  sudo apt-get install -y vagrant 3.3 安装IVRE

  $ mkdir -m 1777 var_lib_mongodb var_log_mongodb ivre-share

  $ wget -q https://ivre.rocks/Vagrantfile

  $ sudo vagrant up --no-parallel

  $ docker attach ivreclient

  root@e809cb41cb9a:/#

  此时IVRE已经安装成功。通过Docker装好的IVRE是没有数据的。

  界面如下:

  

  4 IVRE运行和停止

  查看docker有那些容器,命令:

  docker ps –a

  开启IVRE分三步,

  第一步要开启database server,命令:

  sudo docker start ivredb

  第二步开启web,命令:

  sudo docker start ivreweb

  第三步开启客户端,命令:

  sudo docker start ivreclient

  然后通过attach命令进入ivreclient

  sudo docker attach ivreclient

  5 IVRE扫描并导入数据

  通过attach命令进入ivreclient

  sudo docker attach ivreclient

  5.1运行如下初始化命令:(前4步可忽略)

  root@881486651a32:/$ ipinfo --init

  This will remove any passive information in your database. Process ? [y/N] y

  root@881486651a32:/$ ipdata --init

  This will remove any country/AS information in your database. Process ? [y/N] y

  root@881486651a32:/$ scancli --init

  This will remove any scan result in your database. Process ? [y/N] y

  root@881486651a32:/$ runscans-agentdb --init

  This will remove any agent and/or scan in your database and files. Process ? [y/N] y

  root@881486651a32:/$ ipdata --download --import-all --dont-feed-ipdata-cols

  [...]

  The latest command will take a long time. Then we can integrate the

  Nmap results to the database:

  root@881486651a32:/$ nmap2db -r -s MySource -c MyCategory /ivre-share

  You can then exit the shell (`C-d`), this will stop the

  container.

  或者忽略5.1步骤执行如下命令:

  root@881486651a32:/$ ipdata --download

  5.1 扫描任务

  执行命令:

  root@881486651a32:/$ runscans --routable --limit 1000 --output=XMLFork

  上面这条命令将对互联网上1000个随机主机进行标准扫描,开启13个nmap进程。

  5.2 扫描结果入库

  root@881486651a32:/$ nmap2db -c ROUTABLE-CAMPAIGN-001 -s MySource -r scans/ROUTABLE/up

  5.3 界面展示

  

  6 安装出错解决

  安装IVRE成功后,通过attach命令进入ivreclient后。可能出现缺少ipdata、runscans和nmap2db等命令现象。

  解决方法如下:

  通过attach命令进入ivreclient

  sudo docker attach ivreclient

  安装curl

  root@881486651a32:/$ apt-get install crul

  安装unzip

  root@881486651a32:/$ apt-get install unzip

  利用curl命令将IVRE项目里的bin目录下所有文件下载到Docker容器里:

  root@881486651a32:/$ tmp

  root@881486651a32:/$ curl –O http://hackliu.com/bin.zip

  root@881486651a32:/$ cd /

  将bin.zip解压到/usr/bin目录

  root@881486651a32:/$ unzip /tmp/bin.zip –d /usr/

  为下载的文件添加执行权限:

  root@881486651a32:/$ chmod + x analyzercli

  root@881486651a32:/$ chmod + x getmoduli

  root@881486651a32:/$ chmod + x httpd-ivre

  root@881486651a32:/$ chmod + x ipdata

  root@881486651a32:/$ chmod + x ipinfo

  root@881486651a32:/$ chmod + x ipinfohost

  root@881486651a32:/$ chmod + x nmap2db

  root@881486651a32:/$ chmod + x p0f2db

  root@881486651a32:/$ chmod + x passiverecon2db

  root@881486651a32:/$ chmod + x passivereconworker

  root@881486651a32:/$ chmod + x plotdb

  root@881486651a32:/$ chmod + x runscans

  root@881486651a32:/$ chmod + x runscans-agent

  root@881486651a32:/$ chmod + x runscans-agentdb

  root@881486651a32:/$ chmod + x scancli

  root@881486651a32:/$ chmod + x scanstatus

  7 其他

  7.1 安装所需软件包

  链接: http://pan.baidu.com/s/1kUsuOGv 密码: wvct