通过Docker搭建开源版IVRE
来源:互联网 发布:战舰世界风神数据 编辑:程序博客网 时间:2024/06/04 08:11
通过Docker搭建开源版IVRE
* 原创作者:HackLiu
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位DockerIVRE
2.2 系统依赖
Python 2, version 2.6 minimumthe Crypto modulethe pymongo module, version 2.7.2 minimum.Nmap & ZMapBro & p0fMongoDB, version 2.6 minimumweb服务器(在Apache、Nginx下测试通过)web浏览器(在FireFox和Chromum下测试通过)Maxmind GeoIP免费数据库Tesseract(可选,可对Nmap扫描结果增加快照)Docker & Vagrant (version 1.6 minimum,可选)
2.3 前端组件
AngularJSTwitter BootstrapjQueryD3.jsflag-icon-cssPassive 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.debsudo 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 ivreclientroot@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 theNmap results to the database: root@881486651a32:/$ nmap2db -r -s MySource -c MyCategory /ivre-shareYou can then exit the shell (`C-d`), this will stop thecontainer.
或者忽略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:/$ tmproot@881486651a32:/$ curl –O http://hackliu.com/bin.ziproot@881486651a32:/$ cd /
将bin.zip解压到/usr/bin目录
root@881486651a32:/$ unzip /tmp/bin.zip –d /usr/
为下载的文件添加执行权限:
root@881486651a32:/$ chmod + x analyzercliroot@881486651a32:/$ chmod + x getmoduliroot@881486651a32:/$ chmod + x httpd-ivreroot@881486651a32:/$ chmod + x ipdataroot@881486651a32:/$ chmod + x ipinforoot@881486651a32:/$ chmod + x ipinfohostroot@881486651a32:/$ chmod + x nmap2dbroot@881486651a32:/$ chmod + x p0f2dbroot@881486651a32:/$ chmod + x passiverecon2dbroot@881486651a32:/$ chmod + x passivereconworkerroot@881486651a32:/$ chmod + x plotdbroot@881486651a32:/$ chmod + x runscansroot@881486651a32:/$ chmod + x runscans-agentroot@881486651a32:/$ chmod + x runscans-agentdbroot@881486651a32:/$ chmod + x scancliroot@881486651a32:/$ chmod + x scanstatus
7 其他
7.1 安装所需软件包
链接: http://pan.baidu.com/s/1kUsuOGv 密码: wvct
- 通过Docker搭建开源版IVRE
- Debian8下搭建IVRE(docker方式)
- 通过docker 搭建showdoc
- 开源网络扫描框架IVRE的详细搭建过程
- 开启IVRE
- 通过Docker搭建Mysql容器+Tomcat容器连接环境
- 如何通过docker来搭建elasticsearch环境呢?
- Docker-搭建Docker Registry
- 【Docker】通过Docker-Machine安装Docker
- 阿里云通过nginx,docker完美搭建Ngrok服务器(http,https)
- 通过systemd配置Docker
- 通过docker连接mysql
- IVRE扫描并导入数据
- Docker私服Registry搭建
- docker:搭建lamp应用
- docker:搭建lamp应用
- docker 搭建私有registry
- docker compose环境搭建
- Java5的CyclicBarrier同步工具
- vim
- Linux查看程序端口占用情况
- 算法导论 红黑树 学习 旋转(二)
- ReactiveCocoa学习教程笔记
- 通过Docker搭建开源版IVRE
- 字节流、字符流的一些小知识
- Android 如何获取RadioGroup选中RadioButton的内容
- java基础学习面向对象之多态 五-10
- zabbix3.2监控磁盘IO
- How does SQL Plan Management match SQL statements to SQL plan baselines?
- Cordova-----5、打包Cordova项目
- js+插件实现代码复制及动态生成二维码扫描、分享到朋友圈QQ空间功能
- 完善售后!优信二手车帮消费者打消购车疑虑