Ubuntu16 源码搭建 IVRE

0x01 前言

来源:个人博客

IVRE(又名DRUNK)是一款开源的网络侦查框架工具,IVRE使用Nmap、Zmap进行主动网络探测,
使用Bro、P0f等进行网络流量被动分析,探测结果存入数据库中,方便数据的查询、分类汇总统计。
网上大多都是使用Docker进行安装,配置便捷,不会遇到太多问题,但有时候特殊需求需要用源码
进行安装,特此记录一下。
可以参考官方文档:Overview — IVRE documentation
Github:ivre: Network recon framework.

0x02 Install&Setup

Install

安装需要的服务器数据库
sudo apt-get -y install mongodb python-pymongo python-crypto \
python-future python-bottle apache2 libapache2-mod-wsgi dokuwiki

image

下载源码
git clone https://github.com/cea-sec/ivre

源码安装
cd ivre
python3 setup.py build
sudo python3 setup.py install

Setup

$ sudo -s
# cd /var/www/html ## or depending on your version /var/www
# rm index.html
# ln -s /usr/local/share/ivre/web/static/* .
# cd /var/lib/dokuwiki/data/pages
# ln -s /usr/local/share/ivre/dokuwiki/doc
# cd /var/lib/dokuwiki/data/media
# ln -s /usr/local/share/ivre/dokuwiki/media/logo.png
# ln -s /usr/local/share/ivre/dokuwiki/media/doc
# cd /usr/share/dokuwiki
# patch -p0 < /usr/local/share/ivre/dokuwiki/backlinks.patch
# cd /etc/apache2/mods-enabled
# for m in rewrite.load wsgi.conf wsgi.load ; do
>   [ -L $m ] || ln -s ../mods-available/$m ; done
# cd ../
# echo 'Alias /cgi "/usr/local/share/ivre/web/wsgi/app.wsgi"' > conf-enabled/ivre.conf
# echo '<Location /cgi>' >> conf-enabled/ivre.conf
# echo 'SetHandler wsgi-script' >> conf-enabled/ivre.conf
# echo 'Options +ExecCGI' >> conf-enabled/ivre.conf
# echo 'Require all granted' >> conf-enabled/ivre.conf
# echo '</Location>' >> conf-enabled/ivre.conf
# sed -i 's/^\(\s*\)#Rewrite/\1Rewrite/' /etc/dokuwiki/apache.conf
# echo 'WEB_GET_NOTEPAD_PAGES = "localdokuwiki"' >> /etc/ivre.conf
# service apache2 reload  ## or start
# exit

完成后,访问http://localhost/,服务器访问ip,即可看到WEB UI

image

如果搭建在服务器上,记得点击help,查看是否正常工作。

image

如果显示 Forbidden,使用如下命令修改配置文件
vim /etc/dokuwiki/apache.conf
将
Allow from localhost 127.0.0.1 ::1
修改为:

#Allow from localhost 127.0.0.1 ::1
Allow from all
image

0x03 Database init, data download & importation

这一步时间有点长,耐心等待

$ yes | ivre ipinfo --init
$ yes | ivre scancli --init
$ yes | ivre view --init
$ yes | ivre flowcli --init
$ yes | sudo ivre runscansagentdb --init
$ sudo ivre ipdata --download --import-all
image

0x04 Run a first scan

Against 1k (routable) IP addresses, with a single nmap process:

sudo ivre runscans --routable --limit 200

如果报如下错误:

nmap: unrecognized option '--script-timeout'
ADDING TARGET 1 : 120.75.39.145
ERROR: NMAP PROCESS IS DEAD
image

因为 nmap版本过低,Nmap Debian 版本可能比当前的版本晚一年甚至更长的时间
下载最新 RPM 格式的 nmap 包,然后使用 alien 工具把他转换成 debian 包,再用 dpkg 工具安装即可。

步骤如下:

  • 先卸载已安装的nmap
    sudo apt remove nmap -y
  • 安装 alien
    sudo apt-get install alien
  • 使用wget下载 Nmap RPMs
    wget https://nmap.org/dist/nmap-7.80-1.x86_64.rpm
  • 转化
    sudo alien nmap-7.80-1.x86_64.rpm
  • 安装
    sudo dpkg --install nmap_7.80-2_amd64.deb

import the results and create a view

$ ivre scan2db -c ROUTABLE,ROUTABLE-CAMPAIGN-001 -s MySource -r \
>              scans/ROUTABLE/up
$ ivre db2view nmap

返回Web UI,刷新即可查看扫描结果。

image

WEB-UI 没有数据

安装好后,数据导入了数据库,web-ui界面一直显示Conuting,没有数据
查看apache错误日志,发现
使用的是Python3 安装的,但是它会调用Python2,所以报错
解决办法是

直接卸载python2,
或者
使用python2来安装IVRE。

如果还不出来,再查看apache错误日志,根据报错来改,可能缺少模块。

参考文章

IVRE! Drunk Frenchman Port Scanner Framework!
Overview — IVRE documentation

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容